@@ -45,6 +45,12 @@ pub struct A_Segment {
45
45
fn bindgen_test_layout_A_Segment ( ) {
46
46
assert_eq ! ( :: std:: mem:: size_of:: <A_Segment >( ) , 8usize ) ;
47
47
assert_eq ! ( :: std:: mem:: align_of:: <A_Segment >( ) , 4usize ) ;
48
+ assert_eq ! ( 0usize , unsafe {
49
+ & ( * ( 0 as * const A_Segment ) ) . begin as * const _ as
50
+ usize } ) ;
51
+ assert_eq ! ( 4usize , unsafe {
52
+ & ( * ( 0 as * const A_Segment ) ) . end as * const _ as usize
53
+ } ) ;
48
54
}
49
55
impl Clone for A_Segment {
50
56
fn clone ( & self ) -> Self { * self }
@@ -59,6 +65,9 @@ pub struct A__bindgen_ty_1 {
59
65
fn bindgen_test_layout_A__bindgen_ty_1 ( ) {
60
66
assert_eq ! ( :: std:: mem:: size_of:: <A__bindgen_ty_1 >( ) , 4usize ) ;
61
67
assert_eq ! ( :: std:: mem:: align_of:: <A__bindgen_ty_1 >( ) , 4usize ) ;
68
+ assert_eq ! ( 0usize , unsafe {
69
+ & ( * ( 0 as * const A__bindgen_ty_1 ) ) . f as * const _ as
70
+ usize } ) ;
62
71
}
63
72
impl Clone for A__bindgen_ty_1 {
64
73
fn clone ( & self ) -> Self { * self }
@@ -73,6 +82,9 @@ pub struct A__bindgen_ty_2 {
73
82
fn bindgen_test_layout_A__bindgen_ty_2 ( ) {
74
83
assert_eq ! ( :: std:: mem:: size_of:: <A__bindgen_ty_2 >( ) , 4usize ) ;
75
84
assert_eq ! ( :: std:: mem:: align_of:: <A__bindgen_ty_2 >( ) , 4usize ) ;
85
+ assert_eq ! ( 0usize , unsafe {
86
+ & ( * ( 0 as * const A__bindgen_ty_2 ) ) . d as * const _ as
87
+ usize } ) ;
76
88
}
77
89
impl Clone for A__bindgen_ty_2 {
78
90
fn clone ( & self ) -> Self { * self }
@@ -81,6 +93,11 @@ impl Clone for A__bindgen_ty_2 {
81
93
fn bindgen_test_layout_A ( ) {
82
94
assert_eq ! ( :: std:: mem:: size_of:: <A >( ) , 12usize ) ;
83
95
assert_eq ! ( :: std:: mem:: align_of:: <A >( ) , 4usize ) ;
96
+ assert_eq ! ( 0usize , unsafe {
97
+ & ( * ( 0 as * const A ) ) . c as * const _ as usize } ) ;
98
+ assert_eq ! ( 4usize , unsafe {
99
+ & ( * ( 0 as * const A ) ) . named_union as * const _ as usize
100
+ } ) ;
84
101
}
85
102
impl Clone for A {
86
103
fn clone ( & self ) -> Self { * self }
@@ -100,6 +117,12 @@ pub struct B_Segment {
100
117
fn bindgen_test_layout_B_Segment ( ) {
101
118
assert_eq ! ( :: std:: mem:: size_of:: <B_Segment >( ) , 8usize ) ;
102
119
assert_eq ! ( :: std:: mem:: align_of:: <B_Segment >( ) , 4usize ) ;
120
+ assert_eq ! ( 0usize , unsafe {
121
+ & ( * ( 0 as * const B_Segment ) ) . begin as * const _ as
122
+ usize } ) ;
123
+ assert_eq ! ( 4usize , unsafe {
124
+ & ( * ( 0 as * const B_Segment ) ) . end as * const _ as usize
125
+ } ) ;
103
126
}
104
127
impl Clone for B_Segment {
105
128
fn clone ( & self ) -> Self { * self }
@@ -108,6 +131,8 @@ impl Clone for B_Segment {
108
131
fn bindgen_test_layout_B ( ) {
109
132
assert_eq ! ( :: std:: mem:: size_of:: <B >( ) , 4usize ) ;
110
133
assert_eq ! ( :: std:: mem:: align_of:: <B >( ) , 4usize ) ;
134
+ assert_eq ! ( 0usize , unsafe {
135
+ & ( * ( 0 as * const B ) ) . d as * const _ as usize } ) ;
111
136
}
112
137
impl Clone for B {
113
138
fn clone ( & self ) -> Self { * self }
@@ -147,6 +172,18 @@ fn bindgen_test_layout_C__bindgen_ty_1__bindgen_ty_1() {
147
172
16usize ) ;
148
173
assert_eq ! ( :: std:: mem:: align_of:: <C__bindgen_ty_1__bindgen_ty_1 >( ) ,
149
174
4usize ) ;
175
+ assert_eq ! ( 0usize , unsafe {
176
+ & ( * ( 0 as * const C__bindgen_ty_1__bindgen_ty_1 ) ) . mX1
177
+ as * const _ as usize } ) ;
178
+ assert_eq ! ( 4usize , unsafe {
179
+ & ( * ( 0 as * const C__bindgen_ty_1__bindgen_ty_1 ) ) . mY1
180
+ as * const _ as usize } ) ;
181
+ assert_eq ! ( 8usize , unsafe {
182
+ & ( * ( 0 as * const C__bindgen_ty_1__bindgen_ty_1 ) ) . mX2
183
+ as * const _ as usize } ) ;
184
+ assert_eq ! ( 12usize , unsafe {
185
+ & ( * ( 0 as * const C__bindgen_ty_1__bindgen_ty_1 ) ) . mY2
186
+ as * const _ as usize } ) ;
150
187
}
151
188
impl Clone for C__bindgen_ty_1__bindgen_ty_1 {
152
189
fn clone ( & self ) -> Self { * self }
@@ -163,6 +200,12 @@ fn bindgen_test_layout_C__bindgen_ty_1__bindgen_ty_2() {
163
200
8usize ) ;
164
201
assert_eq ! ( :: std:: mem:: align_of:: <C__bindgen_ty_1__bindgen_ty_2 >( ) ,
165
202
4usize ) ;
203
+ assert_eq ! ( 0usize , unsafe {
204
+ & ( * ( 0 as * const C__bindgen_ty_1__bindgen_ty_2 ) ) .
205
+ mStepSyntax as * const _ as usize } ) ;
206
+ assert_eq ! ( 4usize , unsafe {
207
+ & ( * ( 0 as * const C__bindgen_ty_1__bindgen_ty_2 ) ) .
208
+ mSteps as * const _ as usize } ) ;
166
209
}
167
210
impl Clone for C__bindgen_ty_1__bindgen_ty_2 {
168
211
fn clone ( & self ) -> Self { * self }
@@ -171,6 +214,9 @@ impl Clone for C__bindgen_ty_1__bindgen_ty_2 {
171
214
fn bindgen_test_layout_C__bindgen_ty_1 ( ) {
172
215
assert_eq ! ( :: std:: mem:: size_of:: <C__bindgen_ty_1 >( ) , 16usize ) ;
173
216
assert_eq ! ( :: std:: mem:: align_of:: <C__bindgen_ty_1 >( ) , 4usize ) ;
217
+ assert_eq ! ( 0usize , unsafe {
218
+ & ( * ( 0 as * const C__bindgen_ty_1 ) ) . mFunc as * const _
219
+ as usize } ) ;
174
220
}
175
221
impl Clone for C__bindgen_ty_1 {
176
222
fn clone ( & self ) -> Self { * self }
@@ -185,6 +231,12 @@ pub struct C_Segment {
185
231
fn bindgen_test_layout_C_Segment ( ) {
186
232
assert_eq ! ( :: std:: mem:: size_of:: <C_Segment >( ) , 8usize ) ;
187
233
assert_eq ! ( :: std:: mem:: align_of:: <C_Segment >( ) , 4usize ) ;
234
+ assert_eq ! ( 0usize , unsafe {
235
+ & ( * ( 0 as * const C_Segment ) ) . begin as * const _ as
236
+ usize } ) ;
237
+ assert_eq ! ( 4usize , unsafe {
238
+ & ( * ( 0 as * const C_Segment ) ) . end as * const _ as usize
239
+ } ) ;
188
240
}
189
241
impl Clone for C_Segment {
190
242
fn clone ( & self ) -> Self { * self }
@@ -193,6 +245,8 @@ impl Clone for C_Segment {
193
245
fn bindgen_test_layout_C ( ) {
194
246
assert_eq ! ( :: std:: mem:: size_of:: <C >( ) , 20usize ) ;
195
247
assert_eq ! ( :: std:: mem:: align_of:: <C >( ) , 4usize ) ;
248
+ assert_eq ! ( 0usize , unsafe {
249
+ & ( * ( 0 as * const C ) ) . d as * const _ as usize } ) ;
196
250
}
197
251
impl Clone for C {
198
252
fn clone ( & self ) -> Self { * self }
0 commit comments