1 error: arguments for inline assembly must be copyable
2 --> $DIR/type-check-2.rs:46:31
4 LL | asm!("{:v}", in(vreg) SimdNonCopy(0.0, 0.0, 0.0, 0.0));
5 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
7 = note: `SimdNonCopy` does not implement the Copy trait
9 error: cannot use value of type `[closure@$DIR/type-check-2.rs:58:28: 58:38]` for inline assembly
10 --> $DIR/type-check-2.rs:58:28
12 LL | asm!("{}", in(reg) |x: i32| x);
15 = note: only integers, floats, SIMD vectors, pointers and function pointers can be used as arguments for inline assembly
17 error: cannot use value of type `Vec<i32>` for inline assembly
18 --> $DIR/type-check-2.rs:60:28
20 LL | asm!("{}", in(reg) vec![0]);
23 = note: only integers, floats, SIMD vectors, pointers and function pointers can be used as arguments for inline assembly
24 = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
26 error: cannot use value of type `(i32, i32, i32)` for inline assembly
27 --> $DIR/type-check-2.rs:62:28
29 LL | asm!("{}", in(reg) (1, 2, 3));
32 = note: only integers, floats, SIMD vectors, pointers and function pointers can be used as arguments for inline assembly
34 error: cannot use value of type `[i32; 3]` for inline assembly
35 --> $DIR/type-check-2.rs:64:28
37 LL | asm!("{}", in(reg) [1, 2, 3]);
40 = note: only integers, floats, SIMD vectors, pointers and function pointers can be used as arguments for inline assembly
42 error: cannot use value of type `fn() {main}` for inline assembly
43 --> $DIR/type-check-2.rs:72:31
45 LL | asm!("{}", inout(reg) f);
48 = note: only integers, floats, SIMD vectors, pointers and function pointers can be used as arguments for inline assembly
50 error: cannot use value of type `&mut i32` for inline assembly
51 --> $DIR/type-check-2.rs:75:31
53 LL | asm!("{}", inout(reg) r);
56 = note: only integers, floats, SIMD vectors, pointers and function pointers can be used as arguments for inline assembly
58 error: asm `sym` operand must point to a fn or static
59 --> $DIR/type-check-2.rs:39:24
61 LL | asm!("{}", sym C);
64 error: asm `sym` operand must point to a fn or static
65 --> $DIR/type-check-2.rs:41:24
67 LL | asm!("{}", sym x);
70 error[E0381]: use of possibly-uninitialized variable: `x`
71 --> $DIR/type-check-2.rs:17:28
73 LL | asm!("{}", in(reg) x);
74 | ^ use of possibly-uninitialized `x`
76 error[E0381]: use of possibly-uninitialized variable: `y`
77 --> $DIR/type-check-2.rs:20:9
79 LL | asm!("{}", inout(reg) y);
80 | ^^^^^^^^^^^^^^^^^^^^^^^^^ use of possibly-uninitialized `y`
82 error[E0596]: cannot borrow `v` as mutable, as it is not declared as mutable
83 --> $DIR/type-check-2.rs:28:29
85 LL | let v: Vec<u64> = vec![0, 1, 2];
86 | - help: consider changing this to be mutable: `mut v`
87 LL | asm!("{}", in(reg) v[0]);
88 LL | asm!("{}", out(reg) v[0]);
89 | ^ cannot borrow as mutable
91 error[E0596]: cannot borrow `v` as mutable, as it is not declared as mutable
92 --> $DIR/type-check-2.rs:30:31
94 LL | let v: Vec<u64> = vec![0, 1, 2];
95 | - help: consider changing this to be mutable: `mut v`
97 LL | asm!("{}", inout(reg) v[0]);
98 | ^ cannot borrow as mutable
100 error: aborting due to 13 previous errors
102 Some errors have detailed explanations: E0381, E0596.
103 For more information about an error, try `rustc --explain E0381`.