1 error[E0308]: mismatched types
2 --> $DIR/hr-subtype.rs:45: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 44:22...
14 --> $DIR/hr-subtype.rs:44: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 44:26
23 --> $DIR/hr-subtype.rs:44:26
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
31 = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
33 error: aborting due to previous error
35 For more information about this error, try `rustc --explain E0308`.