1 error[E0308]: mismatched types
2 --> $DIR/hr-subtype.rs:39:26
4 LL | gimme::<$t1>(None::<$t2>);
5 | ^^^^^^^^^^^ lifetime mismatch
7 LL | / check! { free_x_vs_free_y: (fn(&'x u32),
9 | |__________________________________________- in this macro invocation
11 = note: expected enum `std::option::Option<fn(&'x u32)>`
12 found enum `std::option::Option<fn(&'y u32)>`
13 note: the lifetime `'x` as defined on the function body at 38:22...
14 --> $DIR/hr-subtype.rs:38:22
16 LL | fn supertype<'x,'y:'x,'z:'y>() {
19 LL | / check! { free_x_vs_free_y: (fn(&'x u32),
21 | |__________________________________________- in this macro invocation
22 note: ...does not necessarily outlive the lifetime `'y` as defined on the function body at 38:25
23 --> $DIR/hr-subtype.rs:38:25
25 LL | fn supertype<'x,'y:'x,'z:'y>() {
28 LL | / check! { free_x_vs_free_y: (fn(&'x u32),
30 | |__________________________________________- in this macro invocation
32 error: aborting due to previous error
34 For more information about this error, try `rustc --explain E0308`.