error[E0382]: use of moved value: `x`
- --> $DIR/borrowck-asm.rs:37:17
+ --> $DIR/borrowck-asm.rs:27:17
|
+LL | let x = &mut 0isize;
+ | - move occurs because `x` has type `&mut isize`, which does not implement the `Copy` trait
+LL | unsafe {
LL | asm!("nop" : : "r"(x));
| - value moved here
LL | }
LL | let z = x; //[ast]~ ERROR use of moved value: `x`
| ^ value used here after move
- |
- = note: move occurs because `x` has type `&mut isize`, which does not implement the `Copy` trait
error[E0503]: cannot use `x` because it was mutably borrowed
- --> $DIR/borrowck-asm.rs:45:32
+ --> $DIR/borrowck-asm.rs:35:32
|
LL | let y = &mut x;
| ------ borrow of `x` occurs here
| - borrow later used here
error[E0384]: cannot assign twice to immutable variable `x`
- --> $DIR/borrowck-asm.rs:54:31
+ --> $DIR/borrowck-asm.rs:44:31
|
LL | let x = 3;
| -
| ^ cannot assign twice to immutable variable
error[E0384]: cannot assign twice to immutable variable `x`
- --> $DIR/borrowck-asm.rs:70:31
+ --> $DIR/borrowck-asm.rs:60:31
|
LL | let x = 3;
| -
| ^ cannot assign twice to immutable variable
error[E0381]: use of possibly uninitialized variable: `x`
- --> $DIR/borrowck-asm.rs:78:32
+ --> $DIR/borrowck-asm.rs:68:32
|
LL | asm!("nop" : "=*r"(x)); //[ast]~ ERROR use of possibly uninitialized variable
| ^ use of possibly uninitialized `x`
error[E0506]: cannot assign to `x` because it is borrowed
- --> $DIR/borrowck-asm.rs:87:31
+ --> $DIR/borrowck-asm.rs:77:31
|
LL | let y = &*x;
| --- borrow of `x` occurs here
| - borrow later used here
error[E0382]: use of moved value: `x`
- --> $DIR/borrowck-asm.rs:96:40
+ --> $DIR/borrowck-asm.rs:86:40
|
+LL | let x = &mut 2;
+ | - move occurs because `x` has type `&mut i32`, which does not implement the `Copy` trait
+LL | unsafe {
LL | asm!("nop" : : "r"(x), "r"(x) ); //[ast]~ ERROR use of moved value
| - ^ value used here after move
| |
| value moved here
- |
- = note: move occurs because `x` has type `&mut i32`, which does not implement the `Copy` trait
error: aborting due to 7 previous errors