error[E0382]: use of moved value: `*x.b` --> $DIR/borrowck-field-sensitivity.rs:18:10 | LL | drop(x.b); | --- value moved here LL | drop(*x.b); //~ ERROR use of moved value: `*x.b` | ^^^^ value used here after move | = note: move occurs because `x.b` has type `std::boxed::Box`, which does not implement the `Copy` trait error[E0382]: use of moved value: `*x.b` --> $DIR/borrowck-field-sensitivity.rs:24:10 | LL | let y = A { a: 3, .. x }; | - value moved here LL | drop(*x.b); //~ ERROR use of moved value: `*x.b` | ^^^^ value used here after move | = note: move occurs because `x.b` has type `std::boxed::Box`, which does not implement the `Copy` trait error[E0382]: use of moved value: `x.b` --> $DIR/borrowck-field-sensitivity.rs:30:14 | LL | drop(x.b); | --- value moved here LL | let p = &x.b; //~ ERROR use of moved value: `x.b` | ^^^ value used here after move | = note: move occurs because `x.b` has type `std::boxed::Box`, which does not implement the `Copy` trait error[E0382]: use of moved value: `x.b` --> $DIR/borrowck-field-sensitivity.rs:37:14 | LL | let _y = A { a: 3, .. x }; | - value moved here LL | let p = &x.b; //~ ERROR use of moved value: `x.b` | ^^^ value used here after move | = note: move occurs because `x.b` has type `std::boxed::Box`, which does not implement the `Copy` trait error[E0505]: cannot move out of `x.b` because it is borrowed --> $DIR/borrowck-field-sensitivity.rs:44:10 | LL | let p = &x.b; | --- borrow of `x.b` occurs here LL | drop(x.b); //~ ERROR cannot move out of `x.b` because it is borrowed | ^^^ move out of `x.b` occurs here error[E0505]: cannot move out of `x.b` because it is borrowed --> $DIR/borrowck-field-sensitivity.rs:51:27 | LL | let p = &x.b; | --- borrow of `x.b` occurs here LL | let _y = A { a: 3, .. x }; //~ ERROR cannot move out of `x.b` because it is borrowed | ^ move out of `x.b` occurs here error[E0499]: cannot borrow `x.a` as mutable more than once at a time --> $DIR/borrowck-field-sensitivity.rs:58:18 | LL | let p = &mut x.a; | --- first mutable borrow occurs here LL | let q = &mut x.a; //~ ERROR cannot borrow `x.a` as mutable more than once at a time | ^^^ second mutable borrow occurs here ... LL | } | - first borrow ends here error[E0382]: use of moved value: `x.b` --> $DIR/borrowck-field-sensitivity.rs:66:10 | LL | drop(x.b); | --- value moved here LL | drop(x.b); //~ ERROR use of moved value: `x.b` | ^^^ value used here after move | = note: move occurs because `x.b` has type `std::boxed::Box`, which does not implement the `Copy` trait error[E0382]: use of moved value: `x.b` --> $DIR/borrowck-field-sensitivity.rs:72:10 | LL | let _y = A { a: 3, .. x }; | - value moved here LL | drop(x.b); //~ ERROR use of moved value: `x.b` | ^^^ value used here after move | = note: move occurs because `x.b` has type `std::boxed::Box`, which does not implement the `Copy` trait error[E0382]: use of moved value: `x.b` --> $DIR/borrowck-field-sensitivity.rs:78:27 | LL | drop(x.b); | --- value moved here LL | let _z = A { a: 3, .. x }; //~ ERROR use of moved value: `x.b` | ^ value used here after move | = note: move occurs because `x.b` has type `std::boxed::Box`, which does not implement the `Copy` trait error[E0382]: use of moved value: `x.b` --> $DIR/borrowck-field-sensitivity.rs:84:27 | LL | let _y = A { a: 3, .. x }; | - value moved here LL | let _z = A { a: 4, .. x }; //~ ERROR use of moved value: `x.b` | ^ value used here after move | = note: move occurs because `x.b` has type `std::boxed::Box`, which does not implement the `Copy` trait error[E0381]: use of possibly uninitialized variable: `x.a` --> $DIR/borrowck-field-sensitivity.rs:92:10 | LL | drop(x.a); //~ ERROR use of possibly uninitialized variable: `x.a` | ^^^ use of possibly uninitialized `x.a` error[E0381]: use of possibly uninitialized variable: `x.a` --> $DIR/borrowck-field-sensitivity.rs:98:14 | LL | let p = &x.a; //~ ERROR use of possibly uninitialized variable: `x.a` | ^^^ use of possibly uninitialized `x.a` error[E0381]: use of possibly uninitialized variable: `x.b` --> $DIR/borrowck-field-sensitivity.rs:105:10 | LL | drop(x.b); //~ ERROR use of possibly uninitialized variable: `x.b` | ^^^ use of possibly uninitialized `x.b` error: aborting due to 14 previous errors Some errors occurred: E0381, E0382, E0499, E0505. For more information about an error, try `rustc --explain E0381`.