1error[E0308]: mismatched types 2 --> $DIR/hr-subtype.rs:39:26 3 | 4LL | gimme::<$t2>(None::<$t1>); 5 | ^^^^^^^^^^^ lifetime mismatch 6... 7LL | / check! { free_inv_x_vs_free_inv_y: (fn(Inv<'x>), 8LL | | fn(Inv<'y>)) } 9 | |______________- in this macro invocation 10 | 11 = note: expected enum `Option<fn(Inv<'y>)>` 12 found enum `Option<fn(Inv<'x>)>` 13note: the lifetime `'x` as defined here... 14 --> $DIR/hr-subtype.rs:38:20 15 | 16LL | fn subtype<'x, 'y: 'x, 'z: 'y>() { 17 | ^^ 18... 19LL | / check! { free_inv_x_vs_free_inv_y: (fn(Inv<'x>), 20LL | | fn(Inv<'y>)) } 21 | |______________- in this macro invocation 22note: ...does not necessarily outlive the lifetime `'y` as defined here 23 --> $DIR/hr-subtype.rs:38:24 24 | 25LL | fn subtype<'x, 'y: 'x, 'z: 'y>() { 26 | ^^ 27... 28LL | / check! { free_inv_x_vs_free_inv_y: (fn(Inv<'x>), 29LL | | fn(Inv<'y>)) } 30 | |______________- in this macro invocation 31 = note: this error originates in the macro `check` (in Nightly builds, run with -Z macro-backtrace for more info) 32 33error[E0308]: mismatched types 34 --> $DIR/hr-subtype.rs:45:26 35 | 36LL | gimme::<$t1>(None::<$t2>); 37 | ^^^^^^^^^^^ lifetime mismatch 38... 39LL | / check! { free_inv_x_vs_free_inv_y: (fn(Inv<'x>), 40LL | | fn(Inv<'y>)) } 41 | |______________- in this macro invocation 42 | 43 = note: expected enum `Option<fn(Inv<'x>)>` 44 found enum `Option<fn(Inv<'y>)>` 45note: the lifetime `'x` as defined here... 46 --> $DIR/hr-subtype.rs:44:22 47 | 48LL | fn supertype<'x, 'y: 'x, 'z: 'y>() { 49 | ^^ 50... 51LL | / check! { free_inv_x_vs_free_inv_y: (fn(Inv<'x>), 52LL | | fn(Inv<'y>)) } 53 | |______________- in this macro invocation 54note: ...does not necessarily outlive the lifetime `'y` as defined here 55 --> $DIR/hr-subtype.rs:44:26 56 | 57LL | fn supertype<'x, 'y: 'x, 'z: 'y>() { 58 | ^^ 59... 60LL | / check! { free_inv_x_vs_free_inv_y: (fn(Inv<'x>), 61LL | | fn(Inv<'y>)) } 62 | |______________- in this macro invocation 63 = note: this error originates in the macro `check` (in Nightly builds, run with -Z macro-backtrace for more info) 64 65error: aborting due to 2 previous errors 66 67For more information about this error, try `rustc --explain E0308`. 68