error[E0597]: `_t1` does not live long enough
  --> $DIR/issue-54556-used-vs-unused-tails.rs:10:56
   |
LL |     {              let mut _t1 = D(Box::new("t1")); D(&_t1).end()    } ; // suggest `;`
   |                                                        ^^^           - - borrowed value needs to live until here
   |                                                        |             |
   |                                                        |             `_t1` dropped here while still borrowed
   |                                                        borrowed value does not live long enough

error[E0597]: `_t1` does not live long enough
  --> $DIR/issue-54556-used-vs-unused-tails.rs:12:56
   |
LL |     {            { let mut _t1 = D(Box::new("t1")); D(&_t1).end() }  } ; // suggest `;`
   |                                                        ^^^        -    - borrowed value needs to live until here
   |                                                        |          |
   |                                                        |          `_t1` dropped here while still borrowed
   |                                                        borrowed value does not live long enough

error[E0597]: `_t1` does not live long enough
  --> $DIR/issue-54556-used-vs-unused-tails.rs:14:56
   |
LL |     {            { let mut _t1 = D(Box::new("t1")); D(&_t1).end() }; }   // suggest `;`
   |                                                        ^^^        -- borrowed value needs to live until here
   |                                                        |          |
   |                                                        |          `_t1` dropped here while still borrowed
   |                                                        borrowed value does not live long enough

error[E0597]: `_t1` does not live long enough
  --> $DIR/issue-54556-used-vs-unused-tails.rs:16:56
   |
LL |     let _ =      { let mut _t1 = D(Box::new("t1")); D(&_t1).end()    } ; // suggest `;`
   |                                                        ^^^           - - borrowed value needs to live until here
   |                                                        |             |
   |                                                        |             `_t1` dropped here while still borrowed
   |                                                        borrowed value does not live long enough

error[E0597]: `_t1` does not live long enough
  --> $DIR/issue-54556-used-vs-unused-tails.rs:18:56
   |
LL |     let _u =     { let mut _t1 = D(Box::new("t1")); D(&_t1).unit()   } ; // suggest `;`
   |                                                        ^^^           - - borrowed value needs to live until here
   |                                                        |             |
   |                                                        |             `_t1` dropped here while still borrowed
   |                                                        borrowed value does not live long enough

error[E0597]: `_t1` does not live long enough
  --> $DIR/issue-54556-used-vs-unused-tails.rs:20:56
   |
LL |     let _x =     { let mut _t1 = D(Box::new("t1")); D(&_t1).end()    } ; // `let x = ...; x`
   |                                                        ^^^           - - borrowed value needs to live until here
   |                                                        |             |
   |                                                        |             `_t1` dropped here while still borrowed
   |                                                        borrowed value does not live long enough

error[E0597]: `_t1` does not live long enough
  --> $DIR/issue-54556-used-vs-unused-tails.rs:24:56
   |
LL |     _y =         { let mut _t1 = D(Box::new("t1")); D(&_t1).end() } ; // `let x = ...; x`
   |                                                        ^^^        - - borrowed value needs to live until here
   |                                                        |          |
   |                                                        |          `_t1` dropped here while still borrowed
   |                                                        borrowed value does not live long enough

error[E0597]: `_t1` does not live long enough
  --> $DIR/issue-54556-used-vs-unused-tails.rs:30:56
   |
LL | fn f_local_ref() { let mut _t1 = D(Box::new("t1")); D(&_t1).unit()   }  // suggest `;`
   |                                                        ^^^           - `_t1` dropped here while still borrowed
   |                                                        |
   |                                                        borrowed value does not live long enough
   |
   = note: values in a scope are dropped in the opposite order they are created

error[E0597]: `_t1` does not live long enough
  --> $DIR/issue-54556-used-vs-unused-tails.rs:32:56
   |
LL | fn f() -> String { let mut _t1 = D(Box::new("t1")); D(&_t1).end()   }   // `let x = ...; x`
   |                                                        ^^^          - `_t1` dropped here while still borrowed
   |                                                        |
   |                                                        borrowed value does not live long enough
   |
   = note: values in a scope are dropped in the opposite order they are created

error: aborting due to 9 previous errors

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