1 error[E0277]: the trait bound `for<'a> &'a u32: Foo2<'_, u32>` is not satisfied
2 --> $DIR/issue-54302-cases.rs:73:5
4 LL | <u32 as RefFoo<u32>>::ref_foo(a)
5 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `for<'a> Foo2<'_, u32>` is not implemented for `&'a u32`
7 = help: the following implementations were found:
8 <&'x u32 as Foo2<'x, u32>>
9 = note: required because of the requirements on the impl of `for<'a> Foo<'static, u32>` for `&'a u32`
10 = note: required because of the requirements on the impl of `RefFoo<u32>` for `u32`
11 note: required by `RefFoo::ref_foo`
12 --> $DIR/issue-54302-cases.rs:61:5
14 LL | fn ref_foo(&self) -> &'static T;
15 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
17 error[E0279]: the requirement `for<'a> 'a : ` is not satisfied (`expected bound lifetime parameter 'a, found concrete lifetime`)
18 --> $DIR/issue-54302-cases.rs:79:5
20 LL | <i32 as RefFoo<i32>>::ref_foo(a)
21 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
23 = note: required because of the requirements on the impl of `for<'a> Foo2<'_, i32>` for `&'a i32`
24 = note: required because of the requirements on the impl of `for<'a> Foo<'static, i32>` for `&'a i32`
25 = note: required because of the requirements on the impl of `RefFoo<i32>` for `i32`
26 note: required by `RefFoo::ref_foo`
27 --> $DIR/issue-54302-cases.rs:61:5
29 LL | fn ref_foo(&self) -> &'static T;
30 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
32 error[E0271]: type mismatch resolving `for<'a> <&'a u64 as Mirror>::Image == &u64`
33 --> $DIR/issue-54302-cases.rs:85:5
35 LL | <u64 as RefFoo<u64>>::ref_foo(a)
36 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected bound lifetime parameter 'a, found concrete lifetime
38 = note: required because of the requirements on the impl of `for<'a> Foo2<'_, u64>` for `&'a u64`
39 = note: required because of the requirements on the impl of `for<'a> Foo<'static, u64>` for `&'a u64`
40 = note: required because of the requirements on the impl of `RefFoo<u64>` for `u64`
41 note: required by `RefFoo::ref_foo`
42 --> $DIR/issue-54302-cases.rs:61:5
44 LL | fn ref_foo(&self) -> &'static T;
45 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
47 error[E0271]: type mismatch resolving `for<'a> <&'a i64 as Mirror>::Image == &i64`
48 --> $DIR/issue-54302-cases.rs:91:5
50 LL | <i64 as RefFoo<i64>>::ref_foo(a)
51 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected bound lifetime parameter 'a, found concrete lifetime
53 = note: required because of the requirements on the impl of `for<'a> Foo2<'_, i64>` for `&'a i64`
54 = note: required because of the requirements on the impl of `for<'a> Foo<'static, i64>` for `&'a i64`
55 = note: required because of the requirements on the impl of `RefFoo<i64>` for `i64`
56 note: required by `RefFoo::ref_foo`
57 --> $DIR/issue-54302-cases.rs:61:5
59 LL | fn ref_foo(&self) -> &'static T;
60 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
62 error: aborting due to 4 previous errors
64 Some errors occurred: E0271, E0277, E0279.
65 For more information about an error, try `rustc --explain E0271`.