error: lifetime may not live long enough
  --> $DIR/issue-52742.rs:14:9
   |
LL |     fn take_bar(&mut self, b: Bar<'_>) {
   |                 ---------         -- let's call this `'1`
   |                 |
   |                 has type `&mut Foo<'_, '2>`
LL |         self.y = b.z
   |         ^^^^^^^^^^^^ assignment requires that `'1` must outlive `'2`

error: aborting due to previous error

