|
17 | 17 | #![feature(generics)] |
18 | 18 |
|
19 | 19 | pub fn enumerate<T: type, N: u32>(x: T[N]) -> (u32, T)[N] { |
20 | | - for (i, result): (u32, (u32, T)[N]) in u32:0..N { |
| 20 | + for (i, result) in 0..N { |
21 | 21 | update(result, i, (i, x[i])) |
22 | | - }(((u32, T)[N]:[(u32:0, zero!<T>()), ...])) |
| 22 | + }([(u32:0, zero!<T>()), ...]) |
23 | 23 | } |
24 | 24 |
|
25 | 25 | #[test] |
26 | 26 | fn emumerate_test() { |
27 | | - let array = u8[4]:[1, 2, 4, 8]; |
| 27 | + let array = [1, 2, 4, 8]; |
28 | 28 | let enumerated = enumerate(array); |
29 | | - assert_eq(enumerated[u32:0], (u32:0, u8:1)); |
30 | | - assert_eq(enumerated[u32:1], (u32:1, u8:2)); |
31 | | - assert_eq(enumerated[u32:2], (u32:2, u8:4)); |
32 | | - assert_eq(enumerated[u32:3], (u32:3, u8:8)); |
| 29 | + assert_eq(enumerated[0], (0, 1)); |
| 30 | + assert_eq(enumerated[1], (1, 2)); |
| 31 | + assert_eq(enumerated[2], (2, 4)); |
| 32 | + assert_eq(enumerated[3], (3, 8)); |
33 | 33 | } |
34 | 34 |
|
35 | 35 | #[test] |
36 | 36 | fn enumerate_type_test() { |
37 | 37 | type RamData = uN[8]; |
38 | | - const DATA = RamData[4]:[RamData:1, RamData:2, RamData:4, RamData:8]; |
| 38 | + const DATA = [RamData:1, 2, 4, 8]; |
39 | 39 | let enumerated = enumerate(DATA); |
40 | | - assert_eq(enumerated[u32:0], (u32:0, u8:1)); |
41 | | - assert_eq(enumerated[u32:1], (u32:1, u8:2)); |
42 | | - assert_eq(enumerated[u32:2], (u32:2, u8:4)); |
43 | | - assert_eq(enumerated[u32:3], (u32:3, u8:8)); |
| 40 | + assert_eq(enumerated[0], (0, 1)); |
| 41 | + assert_eq(enumerated[1], (1, 2)); |
| 42 | + assert_eq(enumerated[2], (2, 4)); |
| 43 | + assert_eq(enumerated[3], (3, 8)); |
44 | 44 | } |
45 | 45 |
|
46 | 46 | #[test] |
47 | 47 | fn enumerate_tuple_test() { |
48 | | - let x = [(true, u2:3), (false, u2:2)]; |
| 48 | + let x = [(true, 3), (false, 2)]; |
49 | 49 | let enumerated = enumerate(x); |
50 | | - assert_eq(enumerated[u32:0], (u32:0, (true, u2:3))); |
51 | | - assert_eq(enumerated[u32:1], (u32:1, (false, u2:2))); |
| 50 | + assert_eq(enumerated[0], (0, (true, 3))); |
| 51 | + assert_eq(enumerated[1], (1, (false, 2))); |
52 | 52 | } |
53 | 53 |
|
54 | 54 | pub fn sizeof<S: bool, N: u32>(x: xN[S][N]) -> u32 { N } |
|
0 commit comments