1 error: lifetime may not live long enough
2 --> $DIR/arbitrary_self_types_pin_lifetime_mismatch.rs:8:46
4 LL | fn a(self: Pin<&Foo>, f: &Foo) -> &Foo { f }
5 | - - ^ 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 error: lifetime may not live long enough
11 --> $DIR/arbitrary_self_types_pin_lifetime_mismatch.rs:10:69
13 LL | fn c(self: Pin<&Self>, f: &Foo, g: &Foo) -> (Pin<&Foo>, &Foo) { (self, f) }
14 | - - ^^^^^^^^^ function was supposed to return data with lifetime `'2` but it is returning data with lifetime `'1`
16 | | let's call the lifetime of this reference `'1`
17 | let's call the lifetime of this reference `'2`
19 error: lifetime may not live long enough
20 --> $DIR/arbitrary_self_types_pin_lifetime_mismatch.rs:15:58
22 LL | fn bar<'a>(self: Alias<&Self>, arg: &'a ()) -> &() { arg }
23 | -- ---- has type `std::pin::Pin<&'1 Foo>` ^^^ function was supposed to return data with lifetime `'1` but it is returning data with lifetime `'a`
25 | lifetime `'a` defined here
27 error: aborting due to 3 previous errors