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
+
1
17
error: arguments for inline assembly must be copyable
2
- --> $DIR/type-check-2.rs:46 :31
18
+ --> $DIR/type-check-2.rs:29 :31
3
19
|
4
20
LL | asm!("{:v}", in(vreg) SimdNonCopy(0.0, 0.0, 0.0, 0.0));
5
21
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
6
22
|
7
23
= note: `SimdNonCopy` does not implement the Copy trait
8
24
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
11
27
|
12
28
LL | asm!("{}", in(reg) |x: i32| x);
13
29
| ^^^^^^^^^^
14
30
|
15
31
= note: only integers, floats, SIMD vectors, pointers and function pointers can be used as arguments for inline assembly
16
32
17
33
error: 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
19
35
|
20
36
LL | asm!("{}", in(reg) vec![0]);
21
37
| ^^^^^^^
@@ -24,84 +40,36 @@ LL | asm!("{}", in(reg) vec![0]);
24
40
= note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
25
41
26
42
error: 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
28
44
|
29
45
LL | asm!("{}", in(reg) (1, 2, 3));
30
46
| ^^^^^^^^^
31
47
|
32
48
= note: only integers, floats, SIMD vectors, pointers and function pointers can be used as arguments for inline assembly
33
49
34
50
error: 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
36
52
|
37
53
LL | asm!("{}", in(reg) [1, 2, 3]);
38
54
| ^^^^^^^^^
39
55
|
40
56
= note: only integers, floats, SIMD vectors, pointers and function pointers can be used as arguments for inline assembly
41
57
42
58
error: 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
44
60
|
45
61
LL | asm!("{}", inout(reg) f);
46
62
| ^
47
63
|
48
64
= note: only integers, floats, SIMD vectors, pointers and function pointers can be used as arguments for inline assembly
49
65
50
66
error: 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
52
68
|
53
69
LL | asm!("{}", inout(reg) r);
54
70
| ^
55
71
|
56
72
= note: only integers, floats, SIMD vectors, pointers and function pointers can be used as arguments for inline assembly
57
73
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
105
75
106
- Some errors have detailed explanations: E0381, E0596.
107
- For more information about an error, try `rustc --explain E0381`.
0 commit comments