1
1
error: `extern` block uses type `U`, which is not FFI-safe
2
- --> $DIR/lint-ctypes-enum.rs:60:13
2
+ --> $DIR/lint-ctypes-enum.rs:69:14
3
3
|
4
- LL | fn uf(x: U);
5
- | ^ not FFI-safe
4
+ LL | fn uf(x: U);
5
+ | ^ not FFI-safe
6
6
|
7
7
= help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
8
8
= note: enum has no representation hint
9
9
note: the type is defined here
10
- --> $DIR/lint-ctypes-enum.rs:9 :1
10
+ --> $DIR/lint-ctypes-enum.rs:10 :1
11
11
|
12
12
LL | enum U {
13
13
| ^^^^^^
@@ -18,75 +18,233 @@ LL | #![deny(improper_ctypes)]
18
18
| ^^^^^^^^^^^^^^^
19
19
20
20
error: `extern` block uses type `B`, which is not FFI-safe
21
- --> $DIR/lint-ctypes-enum.rs:61:13
21
+ --> $DIR/lint-ctypes-enum.rs:70:14
22
22
|
23
- LL | fn bf(x: B);
24
- | ^ not FFI-safe
23
+ LL | fn bf(x: B);
24
+ | ^ not FFI-safe
25
25
|
26
26
= help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
27
27
= note: enum has no representation hint
28
28
note: the type is defined here
29
- --> $DIR/lint-ctypes-enum.rs:12 :1
29
+ --> $DIR/lint-ctypes-enum.rs:13 :1
30
30
|
31
31
LL | enum B {
32
32
| ^^^^^^
33
33
34
34
error: `extern` block uses type `T`, which is not FFI-safe
35
- --> $DIR/lint-ctypes-enum.rs:62:13
35
+ --> $DIR/lint-ctypes-enum.rs:71:14
36
36
|
37
- LL | fn tf(x: T);
38
- | ^ not FFI-safe
37
+ LL | fn tf(x: T);
38
+ | ^ not FFI-safe
39
39
|
40
40
= help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
41
41
= note: enum has no representation hint
42
42
note: the type is defined here
43
- --> $DIR/lint-ctypes-enum.rs:16 :1
43
+ --> $DIR/lint-ctypes-enum.rs:17 :1
44
44
|
45
45
LL | enum T {
46
46
| ^^^^^^
47
47
48
48
error: `extern` block uses type `u128`, which is not FFI-safe
49
- --> $DIR/lint-ctypes-enum.rs:74:23
49
+ --> $DIR/lint-ctypes-enum.rs:83:31
50
50
|
51
- LL | fn nonzero_u128 (x: Option<num::NonZero<u128>>);
52
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
51
+ LL | fn option_nonzero_u128 (x: Option<num::NonZero<u128>>);
52
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
53
53
|
54
54
= note: 128-bit integers don't currently have a known stable ABI
55
55
56
56
error: `extern` block uses type `i128`, which is not FFI-safe
57
- --> $DIR/lint-ctypes-enum.rs:81:23
57
+ --> $DIR/lint-ctypes-enum.rs:90:31
58
58
|
59
- LL | fn nonzero_i128 (x: Option<num::NonZero<i128>>);
60
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
59
+ LL | fn option_nonzero_i128 (x: Option<num::NonZero<i128>>);
60
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
61
61
|
62
62
= note: 128-bit integers don't currently have a known stable ABI
63
63
64
64
error: `extern` block uses type `Option<TransparentUnion<NonZero<u8>>>`, which is not FFI-safe
65
- --> $DIR/lint-ctypes-enum.rs:86:28
65
+ --> $DIR/lint-ctypes-enum.rs:95:36
66
66
|
67
- LL | fn transparent_union (x: Option<TransparentUnion<num::NonZero<u8>>>);
68
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
67
+ LL | fn option_transparent_union (x: Option<TransparentUnion<num::NonZero<u8>>>);
68
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
69
69
|
70
70
= help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
71
71
= note: enum has no representation hint
72
72
73
73
error: `extern` block uses type `Option<Rust<NonZero<u8>>>`, which is not FFI-safe
74
- --> $DIR/lint-ctypes-enum.rs:88:20
74
+ --> $DIR/lint-ctypes-enum.rs:97:28
75
75
|
76
- LL | fn repr_rust (x: Option<Rust<num::NonZero<u8>>>);
77
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
76
+ LL | fn option_repr_rust (x: Option<Rust<num::NonZero<u8>>>);
77
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
78
78
|
79
79
= help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
80
80
= note: enum has no representation hint
81
81
82
- error: `extern` block uses type `Result<(), NonZero<i32>>`, which is not FFI-safe
83
- --> $DIR/lint-ctypes-enum.rs:89:20
82
+ error: `extern` block uses type `u128`, which is not FFI-safe
83
+ --> $DIR/lint-ctypes-enum.rs:107:33
84
+ |
85
+ LL | fn result_nonzero_u128_t(x: Result<num::NonZero<u128>, ()>);
86
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
87
+ |
88
+ = note: 128-bit integers don't currently have a known stable ABI
89
+
90
+ error: `extern` block uses type `i128`, which is not FFI-safe
91
+ --> $DIR/lint-ctypes-enum.rs:114:33
92
+ |
93
+ LL | fn result_nonzero_i128_t(x: Result<num::NonZero<i128>, ()>);
94
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
95
+ |
96
+ = note: 128-bit integers don't currently have a known stable ABI
97
+
98
+ error: `extern` block uses type `Result<TransparentUnion<NonZero<u8>>, ()>`, which is not FFI-safe
99
+ --> $DIR/lint-ctypes-enum.rs:119:38
100
+ |
101
+ LL | fn result_transparent_union_t(x: Result<TransparentUnion<num::NonZero<u8>>, ()>);
102
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
103
+ |
104
+ = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
105
+ = note: enum has no representation hint
106
+
107
+ error: `extern` block uses type `Result<Rust<NonZero<u8>>, ()>`, which is not FFI-safe
108
+ --> $DIR/lint-ctypes-enum.rs:121:30
109
+ |
110
+ LL | fn result_repr_rust_t(x: Result<Rust<num::NonZero<u8>>, ()>);
111
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
112
+ |
113
+ = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
114
+ = note: enum has no representation hint
115
+
116
+ error: `extern` block uses type `Result<NonZero<u8>, U>`, which is not FFI-safe
117
+ --> $DIR/lint-ctypes-enum.rs:125:51
118
+ |
119
+ LL | fn result_1zst_exhaustive_single_variant_t(x: Result<num::NonZero<u8>, U>);
120
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
121
+ |
122
+ = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
123
+ = note: enum has no representation hint
124
+
125
+ error: `extern` block uses type `Result<NonZero<u8>, B>`, which is not FFI-safe
126
+ --> $DIR/lint-ctypes-enum.rs:127:53
127
+ |
128
+ LL | fn result_1zst_exhaustive_multiple_variant_t(x: Result<num::NonZero<u8>, B>);
129
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
130
+ |
131
+ = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
132
+ = note: enum has no representation hint
133
+
134
+ error: `extern` block uses type `Result<NonZero<u8>, NonExhaustive>`, which is not FFI-safe
135
+ --> $DIR/lint-ctypes-enum.rs:129:51
136
+ |
137
+ LL | fn result_1zst_non_exhaustive_no_variant_t(x: Result<num::NonZero<u8>, NonExhaustive>);
138
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
139
+ |
140
+ = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
141
+ = note: enum has no representation hint
142
+
143
+ error: `extern` block uses type `Result<NonZero<u8>, Field>`, which is not FFI-safe
144
+ --> $DIR/lint-ctypes-enum.rs:132:49
145
+ |
146
+ LL | fn result_1zst_exhaustive_single_field_t(x: Result<num::NonZero<u8>, Field>);
147
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
148
+ |
149
+ = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
150
+ = note: enum has no representation hint
151
+
152
+ error: `extern` block uses type `Result<Result<(), NonZero<u8>>, ()>`, which is not FFI-safe
153
+ --> $DIR/lint-ctypes-enum.rs:134:30
154
+ |
155
+ LL | fn result_cascading_t(x: Result<Result<(), num::NonZero<u8>>, ()>);
156
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
157
+ |
158
+ = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
159
+ = note: enum has no representation hint
160
+
161
+ error: `extern` block uses type `u128`, which is not FFI-safe
162
+ --> $DIR/lint-ctypes-enum.rs:145:33
163
+ |
164
+ LL | fn result_nonzero_u128_e(x: Result<(), num::NonZero<u128>>);
165
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
166
+ |
167
+ = note: 128-bit integers don't currently have a known stable ABI
168
+
169
+ error: `extern` block uses type `i128`, which is not FFI-safe
170
+ --> $DIR/lint-ctypes-enum.rs:152:33
171
+ |
172
+ LL | fn result_nonzero_i128_e(x: Result<(), num::NonZero<i128>>);
173
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
174
+ |
175
+ = note: 128-bit integers don't currently have a known stable ABI
176
+
177
+ error: `extern` block uses type `Result<(), TransparentUnion<NonZero<u8>>>`, which is not FFI-safe
178
+ --> $DIR/lint-ctypes-enum.rs:157:38
179
+ |
180
+ LL | fn result_transparent_union_e(x: Result<(), TransparentUnion<num::NonZero<u8>>>);
181
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
182
+ |
183
+ = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
184
+ = note: enum has no representation hint
185
+
186
+ error: `extern` block uses type `Result<(), Rust<NonZero<u8>>>`, which is not FFI-safe
187
+ --> $DIR/lint-ctypes-enum.rs:159:30
188
+ |
189
+ LL | fn result_repr_rust_e(x: Result<(), Rust<num::NonZero<u8>>>);
190
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
191
+ |
192
+ = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
193
+ = note: enum has no representation hint
194
+
195
+ error: `extern` block uses type `Result<U, NonZero<u8>>`, which is not FFI-safe
196
+ --> $DIR/lint-ctypes-enum.rs:163:51
197
+ |
198
+ LL | fn result_1zst_exhaustive_single_variant_e(x: Result<U, num::NonZero<u8>>);
199
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
200
+ |
201
+ = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
202
+ = note: enum has no representation hint
203
+
204
+ error: `extern` block uses type `Result<B, NonZero<u8>>`, which is not FFI-safe
205
+ --> $DIR/lint-ctypes-enum.rs:165:53
206
+ |
207
+ LL | fn result_1zst_exhaustive_multiple_variant_e(x: Result<B, num::NonZero<u8>>);
208
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
209
+ |
210
+ = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
211
+ = note: enum has no representation hint
212
+
213
+ error: `extern` block uses type `Result<NonExhaustive, NonZero<u8>>`, which is not FFI-safe
214
+ --> $DIR/lint-ctypes-enum.rs:167:51
215
+ |
216
+ LL | fn result_1zst_non_exhaustive_no_variant_e(x: Result<NonExhaustive, num::NonZero<u8>>);
217
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
218
+ |
219
+ = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
220
+ = note: enum has no representation hint
221
+
222
+ error: `extern` block uses type `Result<Field, NonZero<u8>>`, which is not FFI-safe
223
+ --> $DIR/lint-ctypes-enum.rs:170:49
224
+ |
225
+ LL | fn result_1zst_exhaustive_single_field_e(x: Result<Field, num::NonZero<u8>>);
226
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
227
+ |
228
+ = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
229
+ = note: enum has no representation hint
230
+
231
+ error: `extern` block uses type `Result<(), Result<(), NonZero<u8>>>`, which is not FFI-safe
232
+ --> $DIR/lint-ctypes-enum.rs:172:30
233
+ |
234
+ LL | fn result_cascading_e(x: Result<(), Result<(), num::NonZero<u8>>>);
235
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe
236
+ |
237
+ = help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
238
+ = note: enum has no representation hint
239
+
240
+ error: `extern` block uses type `Result<(), ()>`, which is not FFI-safe
241
+ --> $DIR/lint-ctypes-enum.rs:174:27
84
242
|
85
- LL | fn no_result (x: Result<(), num::NonZero<i32> >);
86
- | ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ not FFI-safe
243
+ LL | fn result_unit_t_e (x: Result<(), () >);
244
+ | ^^^^^^^^^^^^^^ not FFI-safe
87
245
|
88
246
= help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
89
247
= note: enum has no representation hint
90
248
91
- error: aborting due to 8 previous errors
249
+ error: aborting due to 26 previous errors
92
250
0 commit comments