blob: f97f13152bc83a121de65d213b8598dc6472d652 [file] [log] [blame]
error[E0195]: lifetime parameters or bounds on method `get` do not match the trait declaration
--> $DIR/issue-16048.rs:21:11
|
LL | fn get<'p, T : Test<'p>>(&self) -> T;
| ------------------ lifetimes in impl do not match this method in trait
...
LL | fn get<'p, T: Test<'a> + From<Foo<'a>>>(&self) -> T {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetimes do not match method in trait
error[E0605]: non-primitive cast: `Foo<'a>` as `T`
--> $DIR/issue-16048.rs:24:16
|
LL | return *self as T;
| ^^^^^^^^^^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object
|
help: consider using the `From` trait instead
|
LL - return *self as T;
LL + return T::from(*self);
|
error: aborting due to 2 previous errors
Some errors have detailed explanations: E0195, E0605.
For more information about an error, try `rustc --explain E0195`.