error[E0308]: mismatched method receiver --> $DIR/explicit-self-lifetime-mismatch.rs:8:12 | LL | Foo<'b,'a> | ^^^^^^^^^^ lifetime mismatch | = note: expected type `Foo<'a, 'b>` found type `Foo<'b, 'a>` note: the lifetime 'b as defined on the impl at 6:9... --> $DIR/explicit-self-lifetime-mismatch.rs:6:9 | LL | impl<'a,'b> Foo<'a,'b> { | ^^ note: ...does not necessarily outlive the lifetime 'a as defined on the impl at 6:6 --> $DIR/explicit-self-lifetime-mismatch.rs:6:6 | LL | impl<'a,'b> Foo<'a,'b> { | ^^ error[E0308]: mismatched method receiver --> $DIR/explicit-self-lifetime-mismatch.rs:8:12 | LL | Foo<'b,'a> | ^^^^^^^^^^ lifetime mismatch | = note: expected type `Foo<'a, 'b>` found type `Foo<'b, 'a>` note: the lifetime 'a as defined on the impl at 6:6... --> $DIR/explicit-self-lifetime-mismatch.rs:6:6 | LL | impl<'a,'b> Foo<'a,'b> { | ^^ note: ...does not necessarily outlive the lifetime 'b as defined on the impl at 6:9 --> $DIR/explicit-self-lifetime-mismatch.rs:6:9 | LL | impl<'a,'b> Foo<'a,'b> { | ^^ error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0308`.