blob: 5bf1fc0817868726bfd9e89f16be44a0410df4bf [file] [log] [blame]
error[E0382]: use of moved value: `a`
--> $DIR/borrowck-box-insensitivity.rs:37:9
|
LL | let _x = a.x;
| -- value moved here
LL | //~^ value moved here
LL | let _y = a.y; //~ ERROR use of moved
| ^^ value used here after move
|
= note: move occurs because `a.x` has type `std::boxed::Box<isize>`, which does not implement the `Copy` trait
error[E0382]: use of moved value: `a`
--> $DIR/borrowck-box-insensitivity.rs:46:9
|
LL | let _x = a.x;
| -- value moved here
LL | //~^ value moved here
LL | let _y = a.y; //~ ERROR use of moved
| ^^ value used here after move
|
= note: move occurs because `a.x` has type `std::boxed::Box<isize>`, which does not implement the `Copy` trait
error[E0382]: use of moved value: `a`
--> $DIR/borrowck-box-insensitivity.rs:55:15
|
LL | let _x = a.x;
| -- value moved here
LL | //~^ value moved here
LL | let _y = &a.y; //~ ERROR use of moved
| ^^^ value used here after move
|
= note: move occurs because `a.x` has type `std::boxed::Box<isize>`, which does not implement the `Copy` trait
error[E0505]: cannot move out of `a.y` because it is borrowed
--> $DIR/borrowck-box-insensitivity.rs:63:9
|
LL | let _x = &a.x;
| --- borrow of `a.x` occurs here
LL | let _y = a.y;
| ^^ move out of `a.y` occurs here
error[E0503]: cannot use `a.y` because it was mutably borrowed
--> $DIR/borrowck-box-insensitivity.rs:71:9
|
LL | let _x = &mut a.x;
| --- borrow of `a.x` occurs here
LL | let _y = a.y; //~ ERROR cannot use
| ^^ use of borrowed `a.x`
error[E0505]: cannot move out of `a.y` because it is borrowed
--> $DIR/borrowck-box-insensitivity.rs:77:9
|
LL | let _x = &mut a.x;
| --- borrow of `a.x` occurs here
LL | let _y = a.y;
| ^^ move out of `a.y` occurs here
error[E0502]: cannot borrow `a` (via `a.y`) as immutable because `a` is also borrowed as mutable (via `a.x`)
--> $DIR/borrowck-box-insensitivity.rs:85:15
|
LL | let _x = &mut a.x;
| --- mutable borrow occurs here (via `a.x`)
LL | let _y = &a.y; //~ ERROR cannot borrow
| ^^^ immutable borrow occurs here (via `a.y`)
LL | //~^ immutable borrow occurs here (via `a.y`)
LL | }
| - mutable borrow ends here
error[E0502]: cannot borrow `a` (via `a.y`) as mutable because `a` is also borrowed as immutable (via `a.x`)
--> $DIR/borrowck-box-insensitivity.rs:92:19
|
LL | let _x = &a.x;
| --- immutable borrow occurs here (via `a.x`)
LL | let _y = &mut a.y; //~ ERROR cannot borrow
| ^^^ mutable borrow occurs here (via `a.y`)
LL | //~^ mutable borrow occurs here (via `a.y`)
LL | }
| - immutable borrow ends here
error[E0382]: use of collaterally moved value: `a.y`
--> $DIR/borrowck-box-insensitivity.rs:100:9
|
LL | let _x = a.x.x;
| -- value moved here
LL | //~^ value moved here
LL | let _y = a.y; //~ ERROR use of collaterally moved
| ^^ value used here after move
|
= note: move occurs because `a.x.x` has type `std::boxed::Box<isize>`, which does not implement the `Copy` trait
error[E0382]: use of collaterally moved value: `a.y`
--> $DIR/borrowck-box-insensitivity.rs:108:9
|
LL | let _x = a.x.x;
| -- value moved here
LL | //~^ value moved here
LL | let _y = a.y; //~ ERROR use of collaterally moved
| ^^ value used here after move
|
= note: move occurs because `a.x.x` has type `std::boxed::Box<isize>`, which does not implement the `Copy` trait
error[E0382]: use of collaterally moved value: `a.y`
--> $DIR/borrowck-box-insensitivity.rs:116:15
|
LL | let _x = a.x.x;
| -- value moved here
LL | //~^ value moved here
LL | let _y = &a.y; //~ ERROR use of collaterally moved
| ^^^ value used here after move
|
= note: move occurs because `a.x.x` has type `std::boxed::Box<isize>`, which does not implement the `Copy` trait
error[E0505]: cannot move out of `a.y` because it is borrowed
--> $DIR/borrowck-box-insensitivity.rs:124:9
|
LL | let _x = &a.x.x;
| ----- borrow of `a.x.x` occurs here
LL | //~^ borrow of `a.x.x` occurs here
LL | let _y = a.y;
| ^^ move out of `a.y` occurs here
error[E0503]: cannot use `a.y` because it was mutably borrowed
--> $DIR/borrowck-box-insensitivity.rs:132:9
|
LL | let _x = &mut a.x.x;
| ----- borrow of `a.x.x` occurs here
LL | let _y = a.y; //~ ERROR cannot use
| ^^ use of borrowed `a.x.x`
error[E0505]: cannot move out of `a.y` because it is borrowed
--> $DIR/borrowck-box-insensitivity.rs:138:9
|
LL | let _x = &mut a.x.x;
| ----- borrow of `a.x.x` occurs here
LL | let _y = a.y;
| ^^ move out of `a.y` occurs here
error[E0502]: cannot borrow `a.y` as immutable because `a.x.x` is also borrowed as mutable
--> $DIR/borrowck-box-insensitivity.rs:147:15
|
LL | let _x = &mut a.x.x;
| ----- mutable borrow occurs here
LL | //~^ mutable borrow occurs here
LL | let _y = &a.y; //~ ERROR cannot borrow
| ^^^ immutable borrow occurs here
LL | //~^ immutable borrow occurs here
LL | }
| - mutable borrow ends here
error[E0502]: cannot borrow `a.y` as mutable because `a.x.x` is also borrowed as immutable
--> $DIR/borrowck-box-insensitivity.rs:155:19
|
LL | let _x = &a.x.x;
| ----- immutable borrow occurs here
LL | //~^ immutable borrow occurs here
LL | let _y = &mut a.y; //~ ERROR cannot borrow
| ^^^ mutable borrow occurs here
LL | //~^ mutable borrow occurs here
LL | }
| - immutable borrow ends here
error: aborting due to 16 previous errors
Some errors occurred: E0382, E0502, E0503, E0505.
For more information about an error, try `rustc --explain E0382`.