error[E0716]: temporary value dropped while borrowed
  --> $DIR/promote-ref-mut-in-let-issue-46557.rs:5:21
   |
LL |     let ref mut x = 1234543;
   |                     ^^^^^^^ creates a temporary which is freed while still in use
LL |     x
   |     - borrow later used here
LL | }
   | - temporary value is freed at the end of this statement
   |
   = note: consider using a `let` binding to create a longer lived value

error[E0716]: temporary value dropped while borrowed
  --> $DIR/promote-ref-mut-in-let-issue-46557.rs:10:25
   |
LL |     let (ref mut x, ) = (1234543, );
   |                         ^^^^^^^^^^^ creates a temporary which is freed while still in use
LL |     x
   |     - borrow later used here
LL | }
   | - temporary value is freed at the end of this statement
   |
   = note: consider using a `let` binding to create a longer lived value

error[E0515]: cannot return value referencing temporary value
  --> $DIR/promote-ref-mut-in-let-issue-46557.rs:15:5
   |
LL |       match 1234543 {
   |       ^     ------- temporary value created here
   |  _____|
   | |
LL | |         ref mut x => x
LL | |     }
   | |_____^ returns a value referencing data owned by the current function

error[E0515]: cannot return value referencing temporary value
  --> $DIR/promote-ref-mut-in-let-issue-46557.rs:21:5
   |
LL |       match (123443,) {
   |       ^     --------- temporary value created here
   |  _____|
   | |
LL | |         (ref mut x,) => x,
LL | |     }
   | |_____^ returns a value referencing data owned by the current function

error[E0515]: cannot return reference to temporary value
  --> $DIR/promote-ref-mut-in-let-issue-46557.rs:27:5
   |
LL |     &mut 1234543
   |     ^^^^^-------
   |     |    |
   |     |    temporary value created here
   |     returns a reference to data owned by the current function

error: aborting due to 5 previous errors

Some errors have detailed explanations: E0515, E0716.
For more information about an error, try `rustc --explain E0515`.