1 error[E0308]: mismatched `self` parameter type
2 --> $DIR/explicit-self-lifetime-mismatch.rs:8:12
5 | ^^^^^^^^^^ lifetime mismatch
7 = note: expected struct `Foo<'a, 'b>`
8 found struct `Foo<'b, 'a>`
9 note: the lifetime `'b` as defined here...
10 --> $DIR/explicit-self-lifetime-mismatch.rs:6:9
12 LL | impl<'a,'b> Foo<'a,'b> {
14 note: ...does not necessarily outlive the lifetime `'a` as defined here
15 --> $DIR/explicit-self-lifetime-mismatch.rs:6:6
17 LL | impl<'a,'b> Foo<'a,'b> {
20 error[E0308]: mismatched `self` parameter type
21 --> $DIR/explicit-self-lifetime-mismatch.rs:8:12
24 | ^^^^^^^^^^ lifetime mismatch
26 = note: expected struct `Foo<'a, 'b>`
27 found struct `Foo<'b, 'a>`
28 note: the lifetime `'a` as defined here...
29 --> $DIR/explicit-self-lifetime-mismatch.rs:6:6
31 LL | impl<'a,'b> Foo<'a,'b> {
33 note: ...does not necessarily outlive the lifetime `'b` as defined here
34 --> $DIR/explicit-self-lifetime-mismatch.rs:6:9
36 LL | impl<'a,'b> Foo<'a,'b> {
39 error: aborting due to 2 previous errors
41 For more information about this error, try `rustc --explain E0308`.