error: lifetime may not live long enough
  --> $DIR/ref-self.rs:24:9
   |
LL |     fn ref_self(&self, f: &u32) -> &u32 {
   |                 -         - let's call the lifetime of this reference `'1`
   |                 |
   |                 let's call the lifetime of this reference `'2`
LL |         f
   |         ^ method was supposed to return data with lifetime `'2` but it is returning data with lifetime `'1`
   |
help: consider introducing a named lifetime parameter and update trait if needed
   |
LL |     fn ref_self<'a>(&self, f: &'a u32) -> &'a u32 {
   |                ++++            ++          ++

error: lifetime may not live long enough
  --> $DIR/ref-self.rs:31:9
   |
LL |     fn ref_Self(self: &Self, f: &u32) -> &u32 {
   |                       -         - let's call the lifetime of this reference `'1`
   |                       |
   |                       let's call the lifetime of this reference `'2`
LL |         f
   |         ^ method was supposed to return data with lifetime `'2` but it is returning data with lifetime `'1`
   |
help: consider introducing a named lifetime parameter and update trait if needed
   |
LL |     fn ref_Self<'a>(self: &Self, f: &'a u32) -> &'a u32 {
   |                ++++                  ++          ++

error: lifetime may not live long enough
  --> $DIR/ref-self.rs:36:9
   |
LL |     fn box_ref_Self(self: Box<&Self>, f: &u32) -> &u32 {
   |                               -          - let's call the lifetime of this reference `'1`
   |                               |
   |                               let's call the lifetime of this reference `'2`
LL |         f
   |         ^ method was supposed to return data with lifetime `'2` but it is returning data with lifetime `'1`
   |
help: consider introducing a named lifetime parameter and update trait if needed
   |
LL |     fn box_ref_Self<'a>(self: Box<&Self>, f: &'a u32) -> &'a u32 {
   |                    ++++                       ++          ++

error: lifetime may not live long enough
  --> $DIR/ref-self.rs:41:9
   |
LL |     fn pin_ref_Self(self: Pin<&Self>, f: &u32) -> &u32 {
   |                               -          - let's call the lifetime of this reference `'1`
   |                               |
   |                               let's call the lifetime of this reference `'2`
LL |         f
   |         ^ method was supposed to return data with lifetime `'2` but it is returning data with lifetime `'1`
   |
help: consider introducing a named lifetime parameter and update trait if needed
   |
LL |     fn pin_ref_Self<'a>(self: Pin<&Self>, f: &'a u32) -> &'a u32 {
   |                    ++++                       ++          ++

error: lifetime may not live long enough
  --> $DIR/ref-self.rs:46:9
   |
LL |     fn box_box_ref_Self(self: Box<Box<&Self>>, f: &u32) -> &u32 {
   |                                       -           - let's call the lifetime of this reference `'1`
   |                                       |
   |                                       let's call the lifetime of this reference `'2`
LL |         f
   |         ^ method was supposed to return data with lifetime `'2` but it is returning data with lifetime `'1`
   |
help: consider introducing a named lifetime parameter and update trait if needed
   |
LL |     fn box_box_ref_Self<'a>(self: Box<Box<&Self>>, f: &'a u32) -> &'a u32 {
   |                        ++++                            ++          ++

error: lifetime may not live long enough
  --> $DIR/ref-self.rs:51:9
   |
LL |     fn box_pin_ref_Self(self: Box<Pin<&Self>>, f: &u32) -> &u32 {
   |                                       -           - let's call the lifetime of this reference `'1`
   |                                       |
   |                                       let's call the lifetime of this reference `'2`
LL |         f
   |         ^ method was supposed to return data with lifetime `'2` but it is returning data with lifetime `'1`
   |
help: consider introducing a named lifetime parameter and update trait if needed
   |
LL |     fn box_pin_ref_Self<'a>(self: Box<Pin<&Self>>, f: &'a u32) -> &'a u32 {
   |                        ++++                            ++          ++

error: lifetime may not live long enough
  --> $DIR/ref-self.rs:56:9
   |
LL |     fn wrap_ref_Self_Self(self: Wrap<&Self, Self>, f: &u8) -> &u8 {
   |                                      -                - let's call the lifetime of this reference `'1`
   |                                      |
   |                                      let's call the lifetime of this reference `'2`
LL |         f
   |         ^ method was supposed to return data with lifetime `'2` but it is returning data with lifetime `'1`
   |
help: consider introducing a named lifetime parameter and update trait if needed
   |
LL |     fn wrap_ref_Self_Self<'a>(self: Wrap<&Self, Self>, f: &'a u8) -> &'a u8 {
   |                          ++++                              ++         ++

error: aborting due to 7 previous errors

