1 error[E0195]: lifetime parameters or bounds on method `get` do not match the trait declaration
2 --> $DIR/issue-16048.rs:21:11
4 LL | fn get<'p, T : Test<'p>>(&self) -> T;
5 | ------------------ lifetimes in impl do not match this method in trait
7 LL | fn get<'p, T : Test<'a>>(&self) -> T {
8 | ^^^^^^^^^^^^^^^^^^ lifetimes do not match method in trait
10 error[E0605]: non-primitive cast: `Foo<'a>` as `T`
11 --> $DIR/issue-16048.rs:24:16
13 LL | return *self as T;
16 = note: an `as` expression can only be used to convert between primitive types. Consider using the `From` trait
18 error: aborting due to 2 previous errors
20 Some errors have detailed explanations: E0195, E0605.
21 For more information about an error, try `rustc --explain E0195`.