error[E0503]: cannot use `e` because it was mutably borrowed
  --> $DIR/borrowed-match-issue-45045.rs:13:9
   |
LL |     let f = &mut e;
   |             ------ borrow of `e` occurs here
...
LL |         Xyz::A => println!("a"),
   |         ^^^^^^ use of borrowed `e`
...
LL |     *g = Xyz::B;
   |     ----------- borrow later used here

error: aborting due to previous error

For more information about this error, try `rustc --explain E0503`.
