error[E0716]: temporary value dropped while borrowed
  --> $DIR/cleanup-rvalue-scopes-cf.rs:26:19
   |
LL |     let x1 = arg(&AddFlags(1));
   |                   ^^^^^^^^^^^ - temporary value is freed at the end of this statement
   |                   |
   |                   creates a temporary which is freed while still in use
...
LL |     (x1, x2, x3, x4, x5, x6, x7);
   |      -- borrow later used here
   |
   = note: consider using a `let` binding to create a longer lived value

error[E0716]: temporary value dropped while borrowed
  --> $DIR/cleanup-rvalue-scopes-cf.rs:27:14
   |
LL |     let x2 = AddFlags(1).get();
   |              ^^^^^^^^^^^      - temporary value is freed at the end of this statement
   |              |
   |              creates a temporary which is freed while still in use
...
LL |     (x1, x2, x3, x4, x5, x6, x7);
   |          -- borrow later used here
   |
   = note: consider using a `let` binding to create a longer lived value

error[E0716]: temporary value dropped while borrowed
  --> $DIR/cleanup-rvalue-scopes-cf.rs:28:21
   |
LL |     let x3 = &*arg(&AddFlags(1));
   |                     ^^^^^^^^^^^ - temporary value is freed at the end of this statement
   |                     |
   |                     creates a temporary which is freed while still in use
...
LL |     (x1, x2, x3, x4, x5, x6, x7);
   |              -- borrow later used here
   |
   = note: consider using a `let` binding to create a longer lived value

error[E0716]: temporary value dropped while borrowed
  --> $DIR/cleanup-rvalue-scopes-cf.rs:29:24
   |
LL |     let ref x4 = *arg(&AddFlags(1));
   |                        ^^^^^^^^^^^ - temporary value is freed at the end of this statement
   |                        |
   |                        creates a temporary which is freed while still in use
...
LL |     (x1, x2, x3, x4, x5, x6, x7);
   |                  -- borrow later used here
   |
   = note: consider using a `let` binding to create a longer lived value

error[E0716]: temporary value dropped while borrowed
  --> $DIR/cleanup-rvalue-scopes-cf.rs:30:24
   |
LL |     let &ref x5 = arg(&AddFlags(1));
   |                        ^^^^^^^^^^^ - temporary value is freed at the end of this statement
   |                        |
   |                        creates a temporary which is freed while still in use
...
LL |     (x1, x2, x3, x4, x5, x6, x7);
   |                      -- borrow later used here
   |
   = note: consider using a `let` binding to create a longer lived value

error[E0716]: temporary value dropped while borrowed
  --> $DIR/cleanup-rvalue-scopes-cf.rs:31:14
   |
LL |     let x6 = AddFlags(1).get();
   |              ^^^^^^^^^^^      - temporary value is freed at the end of this statement
   |              |
   |              creates a temporary which is freed while still in use
...
LL |     (x1, x2, x3, x4, x5, x6, x7);
   |                          -- borrow later used here
   |
   = note: consider using a `let` binding to create a longer lived value

error[E0716]: temporary value dropped while borrowed
  --> $DIR/cleanup-rvalue-scopes-cf.rs:32:44
   |
LL |     let StackBox { f: x7 } = StackBox { f: AddFlags(1).get() };
   |                                            ^^^^^^^^^^^        - temporary value is freed at the end of this statement
   |                                            |
   |                                            creates a temporary which is freed while still in use
LL |
LL |     (x1, x2, x3, x4, x5, x6, x7);
   |                              -- borrow later used here
   |
   = note: consider using a `let` binding to create a longer lived value

error: aborting due to 7 previous errors

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