1 error[E0308]: mismatched types
2 --> $DIR/variance-invariant-self-trait-match.rs:10:5
4 LL | impls_get::<&'min G>();
5 | ^^^^^^^^^^^^^^^^^^^^ lifetime mismatch
7 = note: expected type `<&'min G as Get>`
8 found type `<&'max G as Get>`
9 note: the lifetime `'min` as defined on the function body at 7:21...
10 --> $DIR/variance-invariant-self-trait-match.rs:7:21
12 LL | fn get_min_from_max<'min, 'max, G>()
14 note: ...does not necessarily outlive the lifetime `'max` as defined on the function body at 7:27
15 --> $DIR/variance-invariant-self-trait-match.rs:7:27
17 LL | fn get_min_from_max<'min, 'max, G>()
20 error[E0308]: mismatched types
21 --> $DIR/variance-invariant-self-trait-match.rs:16:5
23 LL | impls_get::<&'max G>();
24 | ^^^^^^^^^^^^^^^^^^^^ lifetime mismatch
26 = note: expected type `<&'max G as Get>`
27 found type `<&'min G as Get>`
28 note: the lifetime `'min` as defined on the function body at 13:21...
29 --> $DIR/variance-invariant-self-trait-match.rs:13:21
31 LL | fn get_max_from_min<'min, 'max, G>()
33 note: ...does not necessarily outlive the lifetime `'max` as defined on the function body at 13:27
34 --> $DIR/variance-invariant-self-trait-match.rs:13:27
36 LL | fn get_max_from_min<'min, 'max, G>()
39 error: aborting due to 2 previous errors
41 For more information about this error, try `rustc --explain E0308`.