1 error[E0308]: mismatched `self` parameter type
2 --> $DIR/issue-17740.rs:6:18
4 LL | fn bar(self: &mut Foo) {
5 | ^^^^^^^^ lifetime mismatch
7 = note: expected type `Foo<'a>`
9 note: the anonymous lifetime #2 defined on the method body at 6:5...
10 --> $DIR/issue-17740.rs:6:5
12 LL | / fn bar(self: &mut Foo) {
20 note: ...does not necessarily outlive the lifetime 'a as defined on the impl at 5:7
21 --> $DIR/issue-17740.rs:5:7
23 LL | impl <'a> Foo<'a>{
26 error[E0308]: mismatched `self` parameter type
27 --> $DIR/issue-17740.rs:6:18
29 LL | fn bar(self: &mut Foo) {
30 | ^^^^^^^^ lifetime mismatch
32 = note: expected type `Foo<'a>`
34 note: the lifetime 'a as defined on the impl at 5:7...
35 --> $DIR/issue-17740.rs:5:7
37 LL | impl <'a> Foo<'a>{
39 note: ...does not necessarily outlive the anonymous lifetime #2 defined on the method body at 6:5
40 --> $DIR/issue-17740.rs:6:5
42 LL | / fn bar(self: &mut Foo) {
51 error: aborting due to 2 previous errors
53 For more information about this error, try `rustc --explain E0308`.