|
8 | 8 | // option. This file may not be copied, modified, or distributed
|
9 | 9 | // except according to those terms.
|
10 | 10 |
|
11 |
| -// xfail-test |
12 |
| -use sys::rustrt::size_of; |
13 |
| -extern mod std; |
| 11 | +extern mod core; |
| 12 | +use core::sys::size_of; |
| 13 | + |
| 14 | +struct t {a: u8, b: i8} |
| 15 | +struct u {a: u8, b: i8, c: u8} |
| 16 | +struct v {a: u8, b: i8, c: v2, d: u32} |
| 17 | +struct v2 {u: char, v: u8} |
| 18 | +struct w {a: int, b: ()} |
| 19 | +struct x {a: int, b: (), c: ()} |
| 20 | +struct y {x: int} |
14 | 21 |
|
15 | 22 | pub fn main() {
|
16 | 23 | assert!((size_of::<u8>() == 1 as uint));
|
17 | 24 | assert!((size_of::<u32>() == 4 as uint));
|
18 | 25 | assert!((size_of::<char>() == 4 as uint));
|
19 | 26 | assert!((size_of::<i8>() == 1 as uint));
|
20 | 27 | assert!((size_of::<i32>() == 4 as uint));
|
21 |
| - assert!((size_of::<{a: u8, b: i8}>() == 2 as uint)); |
22 |
| - assert!((size_of::<{a: u8, b: i8, c: u8}>() == 3 as uint)); |
| 28 | + assert!((size_of::<t>() == 2 as uint)); |
| 29 | + assert!((size_of::<u>() == 3 as uint)); |
23 | 30 | // Alignment causes padding before the char and the u32.
|
24 | 31 |
|
25 |
| - assert!(size_of::<{a: u8, b: i8, c: {u: char, v: u8}, d: u32}>() == |
| 32 | + assert!(size_of::<v>() == |
26 | 33 | 16 as uint);
|
27 | 34 | assert!((size_of::<int>() == size_of::<uint>()));
|
28 |
| - assert!((size_of::<{a: int, b: ()}>() == size_of::<int>())); |
29 |
| - assert!((size_of::<{a: int, b: (), c: ()}>() == size_of::<int>())); |
30 |
| - assert!((size_of::<int>() == size_of::<{x: int}>())); |
| 35 | + assert!((size_of::<w>() == size_of::<int>())); |
| 36 | + assert!((size_of::<x>() == size_of::<int>())); |
| 37 | + assert!((size_of::<int>() == size_of::<y>())); |
31 | 38 | }
|
0 commit comments