1 error[E0308]: mismatched types
2 --> $DIR/rfc1623.rs:24:8
5 | ^^^ one type is more general than the other
7 = note: expected reference `&'a Foo<'b>`
8 found reference `&'a Foo<'b>`
10 error[E0308]: mismatched types
11 --> $DIR/rfc1623.rs:24:8
14 | ^^^ one type is more general than the other
16 = note: expected reference `&'a Foo<'b>`
17 found reference `&'a Foo<'b>`
19 error[E0308]: mismatched types
20 --> $DIR/rfc1623.rs:24:8
23 | ^^^ one type is more general than the other
25 = note: expected reference `&'a Foo<'b>`
26 found reference `&'a Foo<'b>`
28 error[E0308]: mismatched types
29 --> $DIR/rfc1623.rs:24:8
32 | ^^^ one type is more general than the other
34 = note: expected reference `&'a Foo<'b>`
35 found reference `&'a Foo<'b>`
37 error: implementation of `FnOnce` is not general enough
38 --> $DIR/rfc1623.rs:24:8
41 | ^^^ implementation of `FnOnce` is not general enough
43 = note: `fn(&'2 Foo<'_>) -> &'2 Foo<'_> {id::<&'2 Foo<'_>>}` must implement `FnOnce<(&'1 Foo<'b>,)>`, for any lifetime `'1`...
44 = note: ...but it actually implements `FnOnce<(&'2 Foo<'_>,)>`, for some specific lifetime `'2`
46 error: aborting due to 5 previous errors
48 For more information about this error, try `rustc --explain E0308`.