error[E0381]: use of possibly uninitialized variable: `a` --> $DIR/borrowck-uninit-field-access.rs:24:13 | LL | let _ = a.x + 1; //[ast]~ ERROR use of possibly uninitialized variable: `a.x` | ^^^ use of possibly uninitialized `a.x` error[E0382]: use of moved value: `line1.origin` --> $DIR/borrowck-uninit-field-access.rs:29:13 | LL | let _moved = line1.origin; | ------------ value moved here LL | let _ = line1.origin.x + 1; //[ast]~ ERROR use of moved value: `line1.origin.x` | ^^^^^^^^^^^^^^ value used here after move | = note: move occurs because `line1.origin` has type `Point`, which does not implement the `Copy` trait error[E0382]: use of moved value: `line2` --> $DIR/borrowck-uninit-field-access.rs:34:5 | LL | let _moved = (line2.origin, line2.middle); | ------------ value moved here LL | line2.consume(); //[ast]~ ERROR use of partially moved value: `line2` [E0382] | ^^^^^ value used here after move | = note: move occurs because `line2.middle` has type `Point`, which does not implement the `Copy` trait error: aborting due to 3 previous errors Some errors occurred: E0381, E0382. For more information about an error, try `rustc --explain E0381`.