Skip to content

Commit e3e6c73

Browse files
author
bors-servo
authored
Auto merge of #1157 - tamird:use-ptr-null, r=emilio
Generate ptr::null rather than zero literal
2 parents 5e0cf9c + 430fb0e commit e3e6c73

File tree

189 files changed

+1233
-905
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

189 files changed

+1233
-905
lines changed

src/codegen/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1791,7 +1791,7 @@ impl CodeGenerator for CompInfo {
17911791
Some(quote! {
17921792
assert_eq!(
17931793
unsafe {
1794-
&(*(0 as *const #canonical_ident)).#field_name as *const _ as usize
1794+
&(*(::#prefix::ptr::null::<#canonical_ident>())).#field_name as *const _ as usize
17951795
},
17961796
#field_offset,
17971797
concat!("Offset of field: ", stringify!(#canonical_ident), "::", stringify!(#field_name))

tests/expectations/tests/16-byte-alignment.rs

+20-12
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@ fn bindgen_test_layout_rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1() {
4444
);
4545
assert_eq!(
4646
unsafe {
47-
&(*(0 as *const rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1)).dport as *const _ as usize
47+
&(*(::std::ptr::null::<rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1>())).dport as *const _
48+
as usize
4849
},
4950
0usize,
5051
concat!(
@@ -56,7 +57,8 @@ fn bindgen_test_layout_rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1() {
5657
);
5758
assert_eq!(
5859
unsafe {
59-
&(*(0 as *const rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1)).sport as *const _ as usize
60+
&(*(::std::ptr::null::<rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1>())).sport as *const _
61+
as usize
6062
},
6163
2usize,
6264
concat!(
@@ -80,7 +82,9 @@ fn bindgen_test_layout_rte_ipv4_tuple__bindgen_ty_1() {
8082
concat!("Alignment of ", stringify!(rte_ipv4_tuple__bindgen_ty_1))
8183
);
8284
assert_eq!(
83-
unsafe { &(*(0 as *const rte_ipv4_tuple__bindgen_ty_1)).sctp_tag as *const _ as usize },
85+
unsafe {
86+
&(*(::std::ptr::null::<rte_ipv4_tuple__bindgen_ty_1>())).sctp_tag as *const _ as usize
87+
},
8488
0usize,
8589
concat!(
8690
"Offset of field: ",
@@ -108,7 +112,7 @@ fn bindgen_test_layout_rte_ipv4_tuple() {
108112
concat!("Alignment of ", stringify!(rte_ipv4_tuple))
109113
);
110114
assert_eq!(
111-
unsafe { &(*(0 as *const rte_ipv4_tuple)).src_addr as *const _ as usize },
115+
unsafe { &(*(::std::ptr::null::<rte_ipv4_tuple>())).src_addr as *const _ as usize },
112116
0usize,
113117
concat!(
114118
"Offset of field: ",
@@ -118,7 +122,7 @@ fn bindgen_test_layout_rte_ipv4_tuple() {
118122
)
119123
);
120124
assert_eq!(
121-
unsafe { &(*(0 as *const rte_ipv4_tuple)).dst_addr as *const _ as usize },
125+
unsafe { &(*(::std::ptr::null::<rte_ipv4_tuple>())).dst_addr as *const _ as usize },
122126
4usize,
123127
concat!(
124128
"Offset of field: ",
@@ -173,7 +177,8 @@ fn bindgen_test_layout_rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1() {
173177
);
174178
assert_eq!(
175179
unsafe {
176-
&(*(0 as *const rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1)).dport as *const _ as usize
180+
&(*(::std::ptr::null::<rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1>())).dport as *const _
181+
as usize
177182
},
178183
0usize,
179184
concat!(
@@ -185,7 +190,8 @@ fn bindgen_test_layout_rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1() {
185190
);
186191
assert_eq!(
187192
unsafe {
188-
&(*(0 as *const rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1)).sport as *const _ as usize
193+
&(*(::std::ptr::null::<rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1>())).sport as *const _
194+
as usize
189195
},
190196
2usize,
191197
concat!(
@@ -209,7 +215,9 @@ fn bindgen_test_layout_rte_ipv6_tuple__bindgen_ty_1() {
209215
concat!("Alignment of ", stringify!(rte_ipv6_tuple__bindgen_ty_1))
210216
);
211217
assert_eq!(
212-
unsafe { &(*(0 as *const rte_ipv6_tuple__bindgen_ty_1)).sctp_tag as *const _ as usize },
218+
unsafe {
219+
&(*(::std::ptr::null::<rte_ipv6_tuple__bindgen_ty_1>())).sctp_tag as *const _ as usize
220+
},
213221
0usize,
214222
concat!(
215223
"Offset of field: ",
@@ -237,7 +245,7 @@ fn bindgen_test_layout_rte_ipv6_tuple() {
237245
concat!("Alignment of ", stringify!(rte_ipv6_tuple))
238246
);
239247
assert_eq!(
240-
unsafe { &(*(0 as *const rte_ipv6_tuple)).src_addr as *const _ as usize },
248+
unsafe { &(*(::std::ptr::null::<rte_ipv6_tuple>())).src_addr as *const _ as usize },
241249
0usize,
242250
concat!(
243251
"Offset of field: ",
@@ -247,7 +255,7 @@ fn bindgen_test_layout_rte_ipv6_tuple() {
247255
)
248256
);
249257
assert_eq!(
250-
unsafe { &(*(0 as *const rte_ipv6_tuple)).dst_addr as *const _ as usize },
258+
unsafe { &(*(::std::ptr::null::<rte_ipv6_tuple>())).dst_addr as *const _ as usize },
251259
16usize,
252260
concat!(
253261
"Offset of field: ",
@@ -277,7 +285,7 @@ fn bindgen_test_layout_rte_thash_tuple() {
277285
concat!("Size of: ", stringify!(rte_thash_tuple))
278286
);
279287
assert_eq!(
280-
unsafe { &(*(0 as *const rte_thash_tuple)).v4 as *const _ as usize },
288+
unsafe { &(*(::std::ptr::null::<rte_thash_tuple>())).v4 as *const _ as usize },
281289
0usize,
282290
concat!(
283291
"Offset of field: ",
@@ -287,7 +295,7 @@ fn bindgen_test_layout_rte_thash_tuple() {
287295
)
288296
);
289297
assert_eq!(
290-
unsafe { &(*(0 as *const rte_thash_tuple)).v6 as *const _ as usize },
298+
unsafe { &(*(::std::ptr::null::<rte_thash_tuple>())).v6 as *const _ as usize },
291299
0usize,
292300
concat!(
293301
"Offset of field: ",

tests/expectations/tests/16-byte-alignment_1_0.rs

+20-12
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,8 @@ fn bindgen_test_layout_rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1() {
8787
);
8888
assert_eq!(
8989
unsafe {
90-
&(*(0 as *const rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1)).dport as *const _ as usize
90+
&(*(::std::ptr::null::<rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1>())).dport as *const _
91+
as usize
9192
},
9293
0usize,
9394
concat!(
@@ -99,7 +100,8 @@ fn bindgen_test_layout_rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1() {
99100
);
100101
assert_eq!(
101102
unsafe {
102-
&(*(0 as *const rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1)).sport as *const _ as usize
103+
&(*(::std::ptr::null::<rte_ipv4_tuple__bindgen_ty_1__bindgen_ty_1>())).sport as *const _
104+
as usize
103105
},
104106
2usize,
105107
concat!(
@@ -128,7 +130,9 @@ fn bindgen_test_layout_rte_ipv4_tuple__bindgen_ty_1() {
128130
concat!("Alignment of ", stringify!(rte_ipv4_tuple__bindgen_ty_1))
129131
);
130132
assert_eq!(
131-
unsafe { &(*(0 as *const rte_ipv4_tuple__bindgen_ty_1)).sctp_tag as *const _ as usize },
133+
unsafe {
134+
&(*(::std::ptr::null::<rte_ipv4_tuple__bindgen_ty_1>())).sctp_tag as *const _ as usize
135+
},
132136
0usize,
133137
concat!(
134138
"Offset of field: ",
@@ -156,7 +160,7 @@ fn bindgen_test_layout_rte_ipv4_tuple() {
156160
concat!("Alignment of ", stringify!(rte_ipv4_tuple))
157161
);
158162
assert_eq!(
159-
unsafe { &(*(0 as *const rte_ipv4_tuple)).src_addr as *const _ as usize },
163+
unsafe { &(*(::std::ptr::null::<rte_ipv4_tuple>())).src_addr as *const _ as usize },
160164
0usize,
161165
concat!(
162166
"Offset of field: ",
@@ -166,7 +170,7 @@ fn bindgen_test_layout_rte_ipv4_tuple() {
166170
)
167171
);
168172
assert_eq!(
169-
unsafe { &(*(0 as *const rte_ipv4_tuple)).dst_addr as *const _ as usize },
173+
unsafe { &(*(::std::ptr::null::<rte_ipv4_tuple>())).dst_addr as *const _ as usize },
170174
4usize,
171175
concat!(
172176
"Offset of field: ",
@@ -221,7 +225,8 @@ fn bindgen_test_layout_rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1() {
221225
);
222226
assert_eq!(
223227
unsafe {
224-
&(*(0 as *const rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1)).dport as *const _ as usize
228+
&(*(::std::ptr::null::<rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1>())).dport as *const _
229+
as usize
225230
},
226231
0usize,
227232
concat!(
@@ -233,7 +238,8 @@ fn bindgen_test_layout_rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1() {
233238
);
234239
assert_eq!(
235240
unsafe {
236-
&(*(0 as *const rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1)).sport as *const _ as usize
241+
&(*(::std::ptr::null::<rte_ipv6_tuple__bindgen_ty_1__bindgen_ty_1>())).sport as *const _
242+
as usize
237243
},
238244
2usize,
239245
concat!(
@@ -262,7 +268,9 @@ fn bindgen_test_layout_rte_ipv6_tuple__bindgen_ty_1() {
262268
concat!("Alignment of ", stringify!(rte_ipv6_tuple__bindgen_ty_1))
263269
);
264270
assert_eq!(
265-
unsafe { &(*(0 as *const rte_ipv6_tuple__bindgen_ty_1)).sctp_tag as *const _ as usize },
271+
unsafe {
272+
&(*(::std::ptr::null::<rte_ipv6_tuple__bindgen_ty_1>())).sctp_tag as *const _ as usize
273+
},
266274
0usize,
267275
concat!(
268276
"Offset of field: ",
@@ -290,7 +298,7 @@ fn bindgen_test_layout_rte_ipv6_tuple() {
290298
concat!("Alignment of ", stringify!(rte_ipv6_tuple))
291299
);
292300
assert_eq!(
293-
unsafe { &(*(0 as *const rte_ipv6_tuple)).src_addr as *const _ as usize },
301+
unsafe { &(*(::std::ptr::null::<rte_ipv6_tuple>())).src_addr as *const _ as usize },
294302
0usize,
295303
concat!(
296304
"Offset of field: ",
@@ -300,7 +308,7 @@ fn bindgen_test_layout_rte_ipv6_tuple() {
300308
)
301309
);
302310
assert_eq!(
303-
unsafe { &(*(0 as *const rte_ipv6_tuple)).dst_addr as *const _ as usize },
311+
unsafe { &(*(::std::ptr::null::<rte_ipv6_tuple>())).dst_addr as *const _ as usize },
304312
16usize,
305313
concat!(
306314
"Offset of field: ",
@@ -330,7 +338,7 @@ fn bindgen_test_layout_rte_thash_tuple() {
330338
concat!("Size of: ", stringify!(rte_thash_tuple))
331339
);
332340
assert_eq!(
333-
unsafe { &(*(0 as *const rte_thash_tuple)).v4 as *const _ as usize },
341+
unsafe { &(*(::std::ptr::null::<rte_thash_tuple>())).v4 as *const _ as usize },
334342
0usize,
335343
concat!(
336344
"Offset of field: ",
@@ -340,7 +348,7 @@ fn bindgen_test_layout_rte_thash_tuple() {
340348
)
341349
);
342350
assert_eq!(
343-
unsafe { &(*(0 as *const rte_thash_tuple)).v6 as *const _ as usize },
351+
unsafe { &(*(::std::ptr::null::<rte_thash_tuple>())).v6 as *const _ as usize },
344352
0usize,
345353
concat!(
346354
"Offset of field: ",

tests/expectations/tests/accessors.rs

+28-14
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ fn bindgen_test_layout_SomeAccessors() {
2828
concat!("Alignment of ", stringify!(SomeAccessors))
2929
);
3030
assert_eq!(
31-
unsafe { &(*(0 as *const SomeAccessors)).mNoAccessor as *const _ as usize },
31+
unsafe { &(*(::std::ptr::null::<SomeAccessors>())).mNoAccessor as *const _ as usize },
3232
0usize,
3333
concat!(
3434
"Offset of field: ",
@@ -38,7 +38,7 @@ fn bindgen_test_layout_SomeAccessors() {
3838
)
3939
);
4040
assert_eq!(
41-
unsafe { &(*(0 as *const SomeAccessors)).mBothAccessors as *const _ as usize },
41+
unsafe { &(*(::std::ptr::null::<SomeAccessors>())).mBothAccessors as *const _ as usize },
4242
4usize,
4343
concat!(
4444
"Offset of field: ",
@@ -48,7 +48,7 @@ fn bindgen_test_layout_SomeAccessors() {
4848
)
4949
);
5050
assert_eq!(
51-
unsafe { &(*(0 as *const SomeAccessors)).mUnsafeAccessors as *const _ as usize },
51+
unsafe { &(*(::std::ptr::null::<SomeAccessors>())).mUnsafeAccessors as *const _ as usize },
5252
8usize,
5353
concat!(
5454
"Offset of field: ",
@@ -58,7 +58,9 @@ fn bindgen_test_layout_SomeAccessors() {
5858
)
5959
);
6060
assert_eq!(
61-
unsafe { &(*(0 as *const SomeAccessors)).mImmutableAccessor as *const _ as usize },
61+
unsafe {
62+
&(*(::std::ptr::null::<SomeAccessors>())).mImmutableAccessor as *const _ as usize
63+
},
6264
12usize,
6365
concat!(
6466
"Offset of field: ",
@@ -110,7 +112,7 @@ fn bindgen_test_layout_AllAccessors() {
110112
concat!("Alignment of ", stringify!(AllAccessors))
111113
);
112114
assert_eq!(
113-
unsafe { &(*(0 as *const AllAccessors)).mBothAccessors as *const _ as usize },
115+
unsafe { &(*(::std::ptr::null::<AllAccessors>())).mBothAccessors as *const _ as usize },
114116
0usize,
115117
concat!(
116118
"Offset of field: ",
@@ -120,7 +122,7 @@ fn bindgen_test_layout_AllAccessors() {
120122
)
121123
);
122124
assert_eq!(
123-
unsafe { &(*(0 as *const AllAccessors)).mAlsoBothAccessors as *const _ as usize },
125+
unsafe { &(*(::std::ptr::null::<AllAccessors>())).mAlsoBothAccessors as *const _ as usize },
124126
4usize,
125127
concat!(
126128
"Offset of field: ",
@@ -168,7 +170,9 @@ fn bindgen_test_layout_AllUnsafeAccessors() {
168170
concat!("Alignment of ", stringify!(AllUnsafeAccessors))
169171
);
170172
assert_eq!(
171-
unsafe { &(*(0 as *const AllUnsafeAccessors)).mBothAccessors as *const _ as usize },
173+
unsafe {
174+
&(*(::std::ptr::null::<AllUnsafeAccessors>())).mBothAccessors as *const _ as usize
175+
},
172176
0usize,
173177
concat!(
174178
"Offset of field: ",
@@ -178,7 +182,9 @@ fn bindgen_test_layout_AllUnsafeAccessors() {
178182
)
179183
);
180184
assert_eq!(
181-
unsafe { &(*(0 as *const AllUnsafeAccessors)).mAlsoBothAccessors as *const _ as usize },
185+
unsafe {
186+
&(*(::std::ptr::null::<AllUnsafeAccessors>())).mAlsoBothAccessors as *const _ as usize
187+
},
182188
4usize,
183189
concat!(
184190
"Offset of field: ",
@@ -231,7 +237,9 @@ fn bindgen_test_layout_ContradictAccessors() {
231237
concat!("Alignment of ", stringify!(ContradictAccessors))
232238
);
233239
assert_eq!(
234-
unsafe { &(*(0 as *const ContradictAccessors)).mBothAccessors as *const _ as usize },
240+
unsafe {
241+
&(*(::std::ptr::null::<ContradictAccessors>())).mBothAccessors as *const _ as usize
242+
},
235243
0usize,
236244
concat!(
237245
"Offset of field: ",
@@ -241,7 +249,9 @@ fn bindgen_test_layout_ContradictAccessors() {
241249
)
242250
);
243251
assert_eq!(
244-
unsafe { &(*(0 as *const ContradictAccessors)).mNoAccessors as *const _ as usize },
252+
unsafe {
253+
&(*(::std::ptr::null::<ContradictAccessors>())).mNoAccessors as *const _ as usize
254+
},
245255
4usize,
246256
concat!(
247257
"Offset of field: ",
@@ -251,7 +261,9 @@ fn bindgen_test_layout_ContradictAccessors() {
251261
)
252262
);
253263
assert_eq!(
254-
unsafe { &(*(0 as *const ContradictAccessors)).mUnsafeAccessors as *const _ as usize },
264+
unsafe {
265+
&(*(::std::ptr::null::<ContradictAccessors>())).mUnsafeAccessors as *const _ as usize
266+
},
255267
8usize,
256268
concat!(
257269
"Offset of field: ",
@@ -261,7 +273,9 @@ fn bindgen_test_layout_ContradictAccessors() {
261273
)
262274
);
263275
assert_eq!(
264-
unsafe { &(*(0 as *const ContradictAccessors)).mImmutableAccessor as *const _ as usize },
276+
unsafe {
277+
&(*(::std::ptr::null::<ContradictAccessors>())).mImmutableAccessor as *const _ as usize
278+
},
265279
12usize,
266280
concat!(
267281
"Offset of field: ",
@@ -312,7 +326,7 @@ fn bindgen_test_layout_Replaced() {
312326
concat!("Alignment of ", stringify!(Replaced))
313327
);
314328
assert_eq!(
315-
unsafe { &(*(0 as *const Replaced)).mAccessor as *const _ as usize },
329+
unsafe { &(*(::std::ptr::null::<Replaced>())).mAccessor as *const _ as usize },
316330
0usize,
317331
concat!(
318332
"Offset of field: ",
@@ -351,7 +365,7 @@ fn bindgen_test_layout_Wrapper() {
351365
concat!("Alignment of ", stringify!(Wrapper))
352366
);
353367
assert_eq!(
354-
unsafe { &(*(0 as *const Wrapper)).mReplaced as *const _ as usize },
368+
unsafe { &(*(::std::ptr::null::<Wrapper>())).mReplaced as *const _ as usize },
355369
0usize,
356370
concat!(
357371
"Offset of field: ",

tests/expectations/tests/annotation_hide.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ fn bindgen_test_layout_NotAnnotated() {
4242
concat!("Alignment of ", stringify!(NotAnnotated))
4343
);
4444
assert_eq!(
45-
unsafe { &(*(0 as *const NotAnnotated)).f as *const _ as usize },
45+
unsafe { &(*(::std::ptr::null::<NotAnnotated>())).f as *const _ as usize },
4646
0usize,
4747
concat!(
4848
"Offset of field: ",

0 commit comments

Comments
 (0)