1error[E0308]: mismatched types
2  --> $DIR/hr-subtype.rs:45:26
3   |
4LL |               gimme::<$t1>(None::<$t2>);
5   |                            ^^^^^^^^^^^ lifetime mismatch
6...
7LL | / check! { free_x_vs_free_y: (fn(&'x u32),
8LL | | fn(&'y u32)) }
9   | |______________- in this macro invocation
10   |
11   = note: expected enum `Option<fn(&'x u32)>`
12              found enum `Option<fn(&'y u32)>`
13note: the lifetime `'x` as defined here...
14  --> $DIR/hr-subtype.rs:44:22
15   |
16LL |           fn supertype<'x, 'y: 'x, 'z: 'y>() {
17   |                        ^^
18...
19LL | / check! { free_x_vs_free_y: (fn(&'x u32),
20LL | | fn(&'y u32)) }
21   | |______________- in this macro invocation
22note: ...does not necessarily outlive the lifetime `'y` as defined here
23  --> $DIR/hr-subtype.rs:44:26
24   |
25LL |           fn supertype<'x, 'y: 'x, 'z: 'y>() {
26   |                            ^^
27...
28LL | / check! { free_x_vs_free_y: (fn(&'x u32),
29LL | | fn(&'y u32)) }
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: aborting due to previous error
34
35For more information about this error, try `rustc --explain E0308`.
36