error: lifetime may not live long enough
  --> $DIR/match-ref-mut-invariance.rs:10:9
   |
LL | impl<'b> S<'b> {
   |      -- lifetime `'b` defined here
LL |     fn bar<'a>(&'a mut self) -> &'a mut &'a i32 {
   |            -- lifetime `'a` defined here
LL |         match self.0 { ref mut x => x }
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'a` must outlive `'b`
   |
   = help: consider adding the following bound: `'a: 'b`

error: aborting due to previous error

