1 error[E0382]: use of moved value: `x`
2 --> $DIR/borrowck-asm.rs:25: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 | llvm_asm!("nop" : : "r"(x));
11 | ^ value used here after move
13 error[E0503]: cannot use `x` because it was mutably borrowed
14 --> $DIR/borrowck-asm.rs:32:37
17 | ------ borrow of `x` occurs here
19 LL | llvm_asm!("nop" : : "r"(x));
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:40:36
31 | first assignment to `x`
32 | help: make this binding mutable: `mut x`
34 LL | llvm_asm!("nop" : "=r"(x));
35 | ^ cannot assign twice to immutable variable
37 error[E0384]: cannot assign twice to immutable variable `x`
38 --> $DIR/borrowck-asm.rs:54:36
43 | first assignment to `x`
44 | help: make this binding mutable: `mut x`
46 LL | llvm_asm!("nop" : "+r"(x));
47 | ^ cannot assign twice to immutable variable
49 error[E0381]: use of possibly-uninitialized variable: `x`
50 --> $DIR/borrowck-asm.rs:61:37
52 LL | llvm_asm!("nop" : "=*r"(x));
53 | ^ use of possibly-uninitialized `x`
55 error[E0506]: cannot assign to `x` because it is borrowed
56 --> $DIR/borrowck-asm.rs:69:36
59 | --- borrow of `x` occurs here
61 LL | llvm_asm!("nop" : "+r"(x));
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:77:45
71 | - move occurs because `x` has type `&mut i32`, which does not implement the `Copy` trait
73 LL | llvm_asm!("nop" : : "r"(x), "r"(x) );
74 | - ^ value used here after move
78 error: aborting due to 7 previous errors
80 Some errors have detailed explanations: E0381, E0382, E0384, E0503, E0506.
81 For more information about an error, try `rustc --explain E0381`.