1+ error: invalid `sym` operand
2+ --> $DIR/type-check-2.rs:75:19
3+ |
4+ LL | global_asm!("{}", sym C);
5+ | ^^^^^ is an `i32`
6+ |
7+ = help: `sym` operands must refer to either a function or a static
8+
9+ error: invalid `sym` operand
10+ --> $DIR/type-check-2.rs:24:20
11+ |
12+ LL | asm!("{}", sym C);
13+ | ^^^^^ is an `i32`
14+ |
15+ = help: `sym` operands must refer to either a function or a static
16+
117error: arguments for inline assembly must be copyable
2- --> $DIR/type-check-2.rs:46 :31
18+ --> $DIR/type-check-2.rs:29 :31
319 |
420LL | asm!("{:v}", in(vreg) SimdNonCopy(0.0, 0.0, 0.0, 0.0));
521 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
622 |
723 = note: `SimdNonCopy` does not implement the Copy trait
824
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
25+ error: cannot use value of type `[closure@$DIR/type-check-2.rs:41 :28: 41 :38]` for inline assembly
26+ --> $DIR/type-check-2.rs:41 :28
1127 |
1228LL | asm!("{}", in(reg) |x: i32| x);
1329 | ^^^^^^^^^^
1430 |
1531 = note: only integers, floats, SIMD vectors, pointers and function pointers can be used as arguments for inline assembly
1632
1733error: cannot use value of type `Vec<i32>` for inline assembly
18- --> $DIR/type-check-2.rs:60 :28
34+ --> $DIR/type-check-2.rs:43 :28
1935 |
2036LL | asm!("{}", in(reg) vec![0]);
2137 | ^^^^^^^
@@ -24,84 +40,36 @@ LL | asm!("{}", in(reg) vec![0]);
2440 = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
2541
2642error: cannot use value of type `(i32, i32, i32)` for inline assembly
27- --> $DIR/type-check-2.rs:62 :28
43+ --> $DIR/type-check-2.rs:45 :28
2844 |
2945LL | asm!("{}", in(reg) (1, 2, 3));
3046 | ^^^^^^^^^
3147 |
3248 = note: only integers, floats, SIMD vectors, pointers and function pointers can be used as arguments for inline assembly
3349
3450error: cannot use value of type `[i32; 3]` for inline assembly
35- --> $DIR/type-check-2.rs:64 :28
51+ --> $DIR/type-check-2.rs:47 :28
3652 |
3753LL | asm!("{}", in(reg) [1, 2, 3]);
3854 | ^^^^^^^^^
3955 |
4056 = note: only integers, floats, SIMD vectors, pointers and function pointers can be used as arguments for inline assembly
4157
4258error: cannot use value of type `fn() {main}` for inline assembly
43- --> $DIR/type-check-2.rs:72 :31
59+ --> $DIR/type-check-2.rs:55 :31
4460 |
4561LL | asm!("{}", inout(reg) f);
4662 | ^
4763 |
4864 = note: only integers, floats, SIMD vectors, pointers and function pointers can be used as arguments for inline assembly
4965
5066error: cannot use value of type `&mut i32` for inline assembly
51- --> $DIR/type-check-2.rs:75 :31
67+ --> $DIR/type-check-2.rs:58 :31
5268 |
5369LL | asm!("{}", inout(reg) r);
5470 | ^
5571 |
5672 = note: only integers, floats, SIMD vectors, pointers and function pointers can be used as arguments for inline assembly
5773
58- error: invalid `sym` operand
59- --> $DIR/type-check-2.rs:41:20
60- |
61- LL | asm!("{}", sym C);
62- | ^^^^^ is an `i32`
63- |
64- = help: `sym` operands must refer to either a function or a static
65-
66- error: invalid `sym` operand
67- --> $DIR/type-check-2.rs:92:19
68- |
69- LL | global_asm!("{}", sym C);
70- | ^^^^^ is an `i32`
71- |
72- = help: `sym` operands must refer to either a function or a static
73-
74- error[E0381]: use of possibly-uninitialized variable: `x`
75- --> $DIR/type-check-2.rs:19:28
76- |
77- LL | asm!("{}", in(reg) x);
78- | ^ use of possibly-uninitialized `x`
79-
80- error[E0381]: use of possibly-uninitialized variable: `y`
81- --> $DIR/type-check-2.rs:22:9
82- |
83- LL | asm!("{}", inout(reg) y);
84- | ^^^^^^^^^^^^^^^^^^^^^^^^ use of possibly-uninitialized `y`
85-
86- error[E0596]: cannot borrow `v` as mutable, as it is not declared as mutable
87- --> $DIR/type-check-2.rs:30:29
88- |
89- LL | let v: Vec<u64> = vec![0, 1, 2];
90- | - help: consider changing this to be mutable: `mut v`
91- LL | asm!("{}", in(reg) v[0]);
92- LL | asm!("{}", out(reg) v[0]);
93- | ^ cannot borrow as mutable
94-
95- error[E0596]: cannot borrow `v` as mutable, as it is not declared as mutable
96- --> $DIR/type-check-2.rs:32:31
97- |
98- LL | let v: Vec<u64> = vec![0, 1, 2];
99- | - help: consider changing this to be mutable: `mut v`
100- ...
101- LL | asm!("{}", inout(reg) v[0]);
102- | ^ cannot borrow as mutable
103-
104- error: aborting due to 13 previous errors
74+ error: aborting due to 9 previous errors
10575
106- Some errors have detailed explanations: E0381, E0596.
107- For more information about an error, try `rustc --explain E0381`.
0 commit comments