1 error[E0308]: mismatched types
2 --> $DIR/rfc1623.rs:29:35
4 LL | static SOME_STRUCT: &SomeStruct = &SomeStruct {
5 | ___________________________________^
12 | |_^ one type is more general than the other
14 = note: expected type `for<'a, 'b> Fn<(&'a Foo<'b>,)>`
15 found type `Fn<(&Foo<'_>,)>`
17 error[E0308]: mismatched types
18 --> $DIR/rfc1623.rs:29:35
20 LL | static SOME_STRUCT: &SomeStruct = &SomeStruct {
21 | ___________________________________^
28 | |_^ one type is more general than the other
30 = note: expected type `for<'a, 'b> Fn<(&'a Foo<'b>,)>`
31 found type `Fn<(&Foo<'_>,)>`
33 error: implementation of `FnOnce` is not general enough
34 --> $DIR/rfc1623.rs:29:35
36 LL | static SOME_STRUCT: &SomeStruct = &SomeStruct {
37 | ___________________________________^
44 | |_^ implementation of `FnOnce` is not general enough
46 = note: `fn(&'2 Foo<'_>) -> &'2 Foo<'_> {id::<&'2 Foo<'_>>}` must implement `FnOnce<(&'1 Foo<'b>,)>`, for any lifetime `'1`...
47 = note: ...but it actually implements `FnOnce<(&'2 Foo<'_>,)>`, for some specific lifetime `'2`
49 error: implementation of `FnOnce` is not general enough
50 --> $DIR/rfc1623.rs:29:35
52 LL | static SOME_STRUCT: &SomeStruct = &SomeStruct {
53 | ___________________________________^
60 | |_^ implementation of `FnOnce` is not general enough
62 = note: `fn(&Foo<'2>) -> &Foo<'2> {id::<&Foo<'2>>}` must implement `FnOnce<(&'a Foo<'1>,)>`, for any lifetime `'1`...
63 = note: ...but it actually implements `FnOnce<(&Foo<'2>,)>`, for some specific lifetime `'2`
65 error: aborting due to 4 previous errors
67 For more information about this error, try `rustc --explain E0308`.