error[E0308]: mismatched method receiver --> $DIR/issue-17740.rs:16:18 | LL | fn bar(self: &mut Foo) { | ^^^^^^^^ lifetime mismatch | = note: expected type `Foo<'a>` found type `Foo<'_>` note: the anonymous lifetime #2 defined on the method body at 16:5... --> $DIR/issue-17740.rs:16:5 | LL | / fn bar(self: &mut Foo) { LL | | //~^ mismatched method receiver LL | | //~| expected type `Foo<'a>` LL | | //~| found type `Foo<'_>` ... | LL | | //~| lifetime mismatch LL | | } | |_____^ note: ...does not necessarily outlive the lifetime 'a as defined on the impl at 15:7 --> $DIR/issue-17740.rs:15:7 | LL | impl <'a> Foo<'a>{ | ^^ error[E0308]: mismatched method receiver --> $DIR/issue-17740.rs:16:18 | LL | fn bar(self: &mut Foo) { | ^^^^^^^^ lifetime mismatch | = note: expected type `Foo<'a>` found type `Foo<'_>` note: the lifetime 'a as defined on the impl at 15:7... --> $DIR/issue-17740.rs:15:7 | LL | impl <'a> Foo<'a>{ | ^^ note: ...does not necessarily outlive the anonymous lifetime #2 defined on the method body at 16:5 --> $DIR/issue-17740.rs:16:5 | LL | / fn bar(self: &mut Foo) { LL | | //~^ mismatched method receiver LL | | //~| expected type `Foo<'a>` LL | | //~| found type `Foo<'_>` ... | LL | | //~| lifetime mismatch LL | | } | |_____^ error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0308`.