1 error[E0382]: use of moved value: `x`
2 --> $DIR/borrowck-asm.rs:27:17
4 LL | let x = &mut 0isize;
5 | - move occurs because `x` has type `&mut isize`, which does not implement the `Copy` trait
7 LL | asm!("nop" : : "r"(x));
10 LL | let z = x; //[ast]~ ERROR use of moved value: `x`
11 | ^ value used here after move
13 error[E0503]: cannot use `x` because it was mutably borrowed
14 --> $DIR/borrowck-asm.rs:35:32
17 | ------ borrow of `x` occurs here
19 LL | asm!("nop" : : "r"(x)); //[ast]~ ERROR cannot use
20 | ^ use of borrowed `x`
23 | - borrow later used here
25 error[E0384]: cannot assign twice to immutable variable `x`
26 --> $DIR/borrowck-asm.rs:44:31
31 | first assignment to `x`
32 | help: make this binding mutable: `mut x`
34 LL | asm!("nop" : "=r"(x)); //[ast]~ ERROR cannot assign twice
35 | ^ cannot assign twice to immutable variable
37 error[E0384]: cannot assign twice to immutable variable `x`
38 --> $DIR/borrowck-asm.rs:60:31
43 | first assignment to `x`
44 | help: make this binding mutable: `mut x`
46 LL | asm!("nop" : "+r"(x)); //[ast]~ ERROR cannot assign twice
47 | ^ cannot assign twice to immutable variable
49 error[E0381]: use of possibly uninitialized variable: `x`
50 --> $DIR/borrowck-asm.rs:68:32
52 LL | asm!("nop" : "=*r"(x)); //[ast]~ ERROR use of possibly uninitialized variable
53 | ^ use of possibly uninitialized `x`
55 error[E0506]: cannot assign to `x` because it is borrowed
56 --> $DIR/borrowck-asm.rs:77:31
59 | --- borrow of `x` occurs here
61 LL | asm!("nop" : "+r"(x)); //[ast]~ ERROR cannot assign to `x` because it is borrowed
62 | ^ assignment to borrowed `x` occurs here
65 | - borrow later used here
67 error[E0382]: use of moved value: `x`
68 --> $DIR/borrowck-asm.rs:86:40
71 | - move occurs because `x` has type `&mut i32`, which does not implement the `Copy` trait
73 LL | asm!("nop" : : "r"(x), "r"(x) ); //[ast]~ ERROR use of moved value
74 | - ^ value used here after move
78 error: aborting due to 7 previous errors
80 Some errors occurred: E0381, E0382, E0384, E0503, E0506.
81 For more information about an error, try `rustc --explain E0381`.