1
1
// run-pass
2
- #![ allow( dead_code) ]
2
+ #![ allow( dead_code, unused_allocation ) ]
3
3
4
4
use std:: mem;
5
5
@@ -20,7 +20,6 @@ struct AlignMany(i32);
20
20
21
21
// Raising alignment may not alter size.
22
22
#[ repr( align( 8 ) ) ]
23
- #[ allow( dead_code) ]
24
23
struct Align8Many {
25
24
a : i32 ,
26
25
b : i32 ,
@@ -29,9 +28,8 @@ struct Align8Many {
29
28
}
30
29
31
30
enum Enum {
32
- #[ allow( dead_code) ]
33
31
A ( i32 ) ,
34
- B ( Align16 )
32
+ B ( Align16 ) ,
35
33
}
36
34
37
35
// Nested alignment - use `#[repr(C)]` to suppress field reordering for sizeof test
@@ -73,7 +71,7 @@ struct AlignLarge {
73
71
74
72
union UnionContainsAlign {
75
73
a : Align16 ,
76
- b : f32
74
+ b : f32 ,
77
75
}
78
76
79
77
impl Align16 {
@@ -158,7 +156,7 @@ pub fn main() {
158
156
// Note that the size of Nested may change if struct field re-ordering is enabled
159
157
assert_eq ! ( mem:: align_of:: <Nested >( ) , 16 ) ;
160
158
assert_eq ! ( mem:: size_of:: <Nested >( ) , 48 ) ;
161
- let a = Nested { a : 1 , b : 2 , c : Align16 ( 3 ) , d : 4 } ;
159
+ let a = Nested { a : 1 , b : 2 , c : Align16 ( 3 ) , d : 4 } ;
162
160
assert_eq ! ( mem:: align_of_val( & a) , 16 ) ;
163
161
assert_eq ! ( mem:: align_of_val( & a. b) , 4 ) ;
164
162
assert_eq ! ( mem:: align_of_val( & a. c) , 16 ) ;
@@ -179,8 +177,8 @@ pub fn main() {
179
177
assert_eq ! ( a. 0 , 15 ) ;
180
178
assert_eq ! ( mem:: align_of_val( a) , 16 ) ;
181
179
assert_eq ! ( mem:: size_of_val( a) , 16 ) ;
182
- } ,
183
- _ => ( )
180
+ }
181
+ _ => ( ) ,
184
182
}
185
183
assert ! ( is_aligned_to( & e, 16 ) ) ;
186
184
@@ -197,8 +195,8 @@ pub fn main() {
197
195
}
198
196
199
197
// arrays of aligned elements should also be aligned
200
- assert_eq ! ( mem:: align_of:: <[ Align16 ; 2 ] >( ) , 16 ) ;
201
- assert_eq ! ( mem:: size_of:: <[ Align16 ; 2 ] >( ) , 32 ) ;
198
+ assert_eq ! ( mem:: align_of:: <[ Align16 ; 2 ] >( ) , 16 ) ;
199
+ assert_eq ! ( mem:: size_of:: <[ Align16 ; 2 ] >( ) , 32 ) ;
202
200
203
201
let a = [ Align16 ( 0 ) , Align16 ( 1 ) ] ;
204
202
assert_eq ! ( mem:: align_of_val( & a[ 0 ] ) , 16 ) ;
@@ -209,7 +207,7 @@ pub fn main() {
209
207
assert_eq ! ( mem:: align_of_val( Box :: new( Align16 ( 0 ) ) . as_ref( ) ) , 16 ) ;
210
208
211
209
// check heap array is aligned
212
- let a = vec ! ( Align16 ( 0 ) , Align16 ( 1 ) ) ;
210
+ let a = vec ! [ Align16 ( 0 ) , Align16 ( 1 ) ] ;
213
211
assert_eq ! ( mem:: align_of_val( & a[ 0 ] ) , 16 ) ;
214
212
assert_eq ! ( mem:: align_of_val( & a[ 1 ] ) , 16 ) ;
215
213
@@ -224,16 +222,14 @@ pub fn main() {
224
222
225
223
assert_eq ! ( mem:: align_of:: <AlignContainsPacked4C >( ) , 16 ) ;
226
224
assert_eq ! ( mem:: size_of:: <AlignContainsPacked4C >( ) , 32 ) ;
227
- let a = AlignContainsPacked4C { a : Packed4C { a : 1 , b : 2 } , b : 3 } ;
225
+ let a = AlignContainsPacked4C { a : Packed4C { a : 1 , b : 2 } , b : 3 } ;
228
226
assert_eq ! ( mem:: align_of_val( & a) , 16 ) ;
229
227
assert_eq ! ( mem:: align_of_val( & a. a) , 4 ) ;
230
228
assert_eq ! ( mem:: align_of_val( & a. b) , mem:: align_of:: <u64 >( ) ) ;
231
229
assert_eq ! ( mem:: size_of_val( & a) , 32 ) ;
232
230
assert ! ( is_aligned_to( & a, 16 ) ) ;
233
231
234
- let mut large = Box :: new ( AlignLarge {
235
- stuff : [ 0 ; 0x10000 ] ,
236
- } ) ;
232
+ let mut large = Box :: new ( AlignLarge { stuff : [ 0 ; 0x10000 ] } ) ;
237
233
large. stuff [ 0 ] = 132 ;
238
234
* large. stuff . last_mut ( ) . unwrap ( ) = 102 ;
239
235
assert_eq ! ( large. stuff[ 0 ] , 132 ) ;
0 commit comments