1 error: lifetime may not live long enough
2 --> $DIR/arbitrary_self_types_pin_lifetime_mismatch-async.rs:8:52
4 LL | async fn a(self: Pin<&Foo>, f: &Foo) -> &Foo { f }
5 | - - ^ associated function was supposed to return data with lifetime `'2` but it is returning data with lifetime `'1`
7 | | let's call the lifetime of this reference `'1`
8 | let's call the lifetime of this reference `'2`
10 help: consider introducing a named lifetime parameter and update trait if needed
12 LL | async fn a<'a>(self: Pin<&'a Foo>, f: &'a Foo) -> &Foo { f }
15 error: lifetime may not live long enough
16 --> $DIR/arbitrary_self_types_pin_lifetime_mismatch-async.rs:11:75
18 LL | async fn c(self: Pin<&Self>, f: &Foo, g: &Foo) -> (Pin<&Foo>, &Foo) { (self, f) }
19 | - - ^^^^^^^^^ associated function was supposed to return data with lifetime `'2` but it is returning data with lifetime `'1`
21 | | let's call the lifetime of this reference `'1`
22 | let's call the lifetime of this reference `'2`
24 help: consider introducing a named lifetime parameter and update trait if needed
26 LL | async fn c<'a>(self: Pin<&'a Self>, f: &'a Foo, g: &Foo) -> (Pin<&Foo>, &Foo) { (self, f) }
29 error: lifetime may not live long enough
30 --> $DIR/arbitrary_self_types_pin_lifetime_mismatch-async.rs:17:64
32 LL | async fn bar<'a>(self: Alias<&Self>, arg: &'a ()) -> &() { arg }
33 | -- - ^^^ associated function was supposed to return data with lifetime `'1` but it is returning data with lifetime `'a`
35 | | let's call the lifetime of this reference `'1`
36 | lifetime `'a` defined here
38 error: aborting due to 3 previous errors