error: lifetime may not live long enough
  --> $DIR/ref-struct.rs:11:9
   |
LL |     fn ref_Struct(self: &Struct, f: &u32) -> &u32 {
   |                         -           - let's call the lifetime of this reference `'1`
   |                         |
   |                         let's call the lifetime of this reference `'2`
LL |         f
   |         ^ associated function was supposed to return data with lifetime `'2` but it is returning data with lifetime `'1`

error: lifetime may not live long enough
  --> $DIR/ref-struct.rs:15:9
   |
LL |     fn box_ref_Struct(self: Box<&Struct>, f: &u32) -> &u32 {
   |                                 -            - let's call the lifetime of this reference `'1`
   |                                 |
   |                                 let's call the lifetime of this reference `'2`
LL |         f
   |         ^ associated function was supposed to return data with lifetime `'2` but it is returning data with lifetime `'1`

error: lifetime may not live long enough
  --> $DIR/ref-struct.rs:19:9
   |
LL |     fn pin_ref_Struct(self: Pin<&Struct>, f: &u32) -> &u32 {
   |                                 -            - let's call the lifetime of this reference `'1`
   |                                 |
   |                                 let's call the lifetime of this reference `'2`
LL |         f
   |         ^ associated function was supposed to return data with lifetime `'2` but it is returning data with lifetime `'1`

error: lifetime may not live long enough
  --> $DIR/ref-struct.rs:23:9
   |
LL |     fn box_box_ref_Struct(self: Box<Box<&Struct>>, f: &u32) -> &u32 {
   |                                         -             - let's call the lifetime of this reference `'1`
   |                                         |
   |                                         let's call the lifetime of this reference `'2`
LL |         f
   |         ^ associated function was supposed to return data with lifetime `'2` but it is returning data with lifetime `'1`

error: lifetime may not live long enough
  --> $DIR/ref-struct.rs:27:9
   |
LL |     fn box_pin_Struct(self: Box<Pin<&Struct>>, f: &u32) -> &u32 {
   |                                     -             - let's call the lifetime of this reference `'1`
   |                                     |
   |                                     let's call the lifetime of this reference `'2`
LL |         f
   |         ^ associated function was supposed to return data with lifetime `'2` but it is returning data with lifetime `'1`

error: aborting due to 5 previous errors

