| error[E0506]: cannot assign to `x` because it is borrowed |
| --> $DIR/super-let-lifetime-and-drop.rs:30:28 |
| | |
| LL | super let b = DropMe(&mut x); |
| | ------ `x` is borrowed here |
| ... |
| LL | #[cfg(borrowck)] { x = true; } |
| | ^^^^^^^^ `x` is assigned to here but it was already borrowed |
| ... |
| LL | } |
| | - borrow might be used here, when `b` is dropped and runs the `Drop` code for type `DropMe` |
| |
| error[E0506]: cannot assign to `x` because it is borrowed |
| --> $DIR/super-let-lifetime-and-drop.rs:46:28 |
| | |
| LL | super let b = &DropMe(&mut x); |
| | -------------- |
| | | | |
| | | `x` is borrowed here |
| | a temporary with access to the borrow is created here ... |
| ... |
| LL | #[cfg(borrowck)] { x = true; } |
| | ^^^^^^^^ `x` is assigned to here but it was already borrowed |
| ... |
| LL | } |
| | - ... and the borrow might be used here, when that temporary is dropped and runs the `Drop` code for type `DropMe` |
| |
| error[E0506]: cannot assign to `x` because it is borrowed |
| --> $DIR/super-let-lifetime-and-drop.rs:64:32 |
| | |
| LL | super let b = identity(&DropMe(&mut x)); |
| | -------------- |
| | | | |
| | | `x` is borrowed here |
| | a temporary with access to the borrow is created here ... |
| LL | #[cfg(borrowck)] { x = true; } |
| | ^^^^^^^^ `x` is assigned to here but it was already borrowed |
| ... |
| LL | }; |
| | - ... and the borrow might be used here, when that temporary is dropped and runs the `Drop` code for type `DropMe` |
| |
| error[E0506]: cannot assign to `x` because it is borrowed |
| --> $DIR/super-let-lifetime-and-drop.rs:87:36 |
| | |
| LL | super let b = identity(&DropMe(&mut x)); |
| | -------------- |
| | | | |
| | | `x` is borrowed here |
| | a temporary with access to the borrow is created here ... |
| ... |
| LL | #[cfg(borrowck)] { x = true; } |
| | ^^^^^^^^ `x` is assigned to here but it was already borrowed |
| ... |
| LL | )); |
| | - ... and the borrow might be used here, when that temporary is dropped and runs the `Drop` code for type `DropMe` |
| |
| error[E0506]: cannot assign to `x` because it is borrowed |
| --> $DIR/super-let-lifetime-and-drop.rs:107:28 |
| | |
| LL | super let b = DropMe(&mut x); |
| | ------ `x` is borrowed here |
| ... |
| LL | #[cfg(borrowck)] { x = true; } |
| | ^^^^^^^^ `x` is assigned to here but it was already borrowed |
| ... |
| LL | } |
| | - borrow might be used here, when `b` is dropped and runs the `Drop` code for type `DropMe` |
| |
| error[E0506]: cannot assign to `x` because it is borrowed |
| --> $DIR/super-let-lifetime-and-drop.rs:125:28 |
| | |
| LL | super let b = DropMe(&mut x); |
| | ------ `x` is borrowed here |
| ... |
| LL | #[cfg(borrowck)] { x = true; } |
| | ^^^^^^^^ `x` is assigned to here but it was already borrowed |
| ... |
| LL | } |
| | - borrow might be used here, when `b` is dropped and runs the `Drop` code for type `DropMe` |
| |
| error[E0506]: cannot assign to `x` because it is borrowed |
| --> $DIR/super-let-lifetime-and-drop.rs:143:28 |
| | |
| LL | super let b = DropMe(&mut x); |
| | ------ `x` is borrowed here |
| ... |
| LL | #[cfg(borrowck)] { x = true; } |
| | ^^^^^^^^ `x` is assigned to here but it was already borrowed |
| ... |
| LL | } |
| | - borrow might be used here, when `b` is dropped and runs the `Drop` code for type `DropMe` |
| |
| error[E0506]: cannot assign to `x` because it is borrowed |
| --> $DIR/super-let-lifetime-and-drop.rs:159:28 |
| | |
| LL | b = DropMe(&mut x); |
| | ------ `x` is borrowed here |
| ... |
| LL | #[cfg(borrowck)] { x = true; } |
| | ^^^^^^^^ `x` is assigned to here but it was already borrowed |
| LL | drop(a); |
| | - borrow later used here |
| |
| error[E0716]: temporary value dropped while borrowed |
| --> $DIR/super-let-lifetime-and-drop.rs:172:33 |
| | |
| LL | #[cfg(borrowck)] { a = &String::from("asdf"); }; |
| | ^^^^^^^^^^^^^^^^^^^^- temporary value is freed at the end of this statement |
| | | |
| | creates a temporary value which is freed while still in use |
| ... |
| LL | let _ = a; |
| | - borrow later used here |
| | |
| = note: consider using a `let` binding to create a longer lived value |
| |
| error[E0506]: cannot assign to `x` because it is borrowed |
| --> $DIR/super-let-lifetime-and-drop.rs:206:28 |
| | |
| LL | super let d = &DropMe(&mut x); |
| | -------------- |
| | | | |
| | | `x` is borrowed here |
| | a temporary with access to the borrow is created here ... |
| ... |
| LL | #[cfg(borrowck)] { x = true; } |
| | ^^^^^^^^ `x` is assigned to here but it was already borrowed |
| ... |
| LL | } |
| | - ... and the borrow might be used here, when that temporary is dropped and runs the `Drop` code for type `DropMe` |
| |
| error[E0506]: cannot assign to `x` because it is borrowed |
| --> $DIR/super-let-lifetime-and-drop.rs:227:32 |
| | |
| LL | super let d = identity(&DropMe(&mut x)); |
| | -------------- |
| | | | |
| | | `x` is borrowed here |
| | a temporary with access to the borrow is created here ... |
| ... |
| LL | #[cfg(borrowck)] { x = true; } |
| | ^^^^^^^^ `x` is assigned to here but it was already borrowed |
| ... |
| LL | }; |
| | - ... and the borrow might be used here, when that temporary is dropped and runs the `Drop` code for type `DropMe` |
| |
| error[E0506]: cannot assign to `x` because it is borrowed |
| --> $DIR/super-let-lifetime-and-drop.rs:246:28 |
| | |
| LL | super let b = DropMe(&mut x); |
| | ------ `x` is borrowed here |
| ... |
| LL | #[cfg(borrowck)] { x = true; } |
| | ^^^^^^^^ `x` is assigned to here but it was already borrowed |
| ... |
| LL | } |
| | - borrow might be used here, when `b` is dropped and runs the `Drop` code for type `DropMe` |
| |
| error[E0506]: cannot assign to `x` because it is borrowed |
| --> $DIR/super-let-lifetime-and-drop.rs:263:28 |
| | |
| LL | let dropme = Some(DropMe(&mut x)); |
| | ------ `x` is borrowed here |
| ... |
| LL | #[cfg(borrowck)] { x = true; } |
| | ^^^^^^^^ `x` is assigned to here but it was already borrowed |
| ... |
| LL | } |
| | - borrow might be used here, when `x` is dropped and runs the `Drop` code for type `DropMe` |
| |
| error: aborting due to 13 previous errors |
| |
| Some errors have detailed explanations: E0506, E0716. |
| For more information about an error, try `rustc --explain E0506`. |