]> git.lizzy.rs Git - rust.git/blob - tests/run-pass/arrays.rs
d433310a6a89d8cc8ed6cda870b7fc51bca642f8
[rust.git] / tests / run-pass / arrays.rs
1 #![feature(custom_attribute)]
2 #![allow(dead_code, unused_attributes)]
3
4 #[miri_run]
5 fn empty_array() -> [u16; 0] {
6     []
7 }
8
9 #[miri_run]
10 fn mini_array() -> [u16; 1] {
11     [42]
12 }
13
14 #[miri_run]
15 fn big_array() -> [u16; 5] {
16     [5, 4, 3, 2, 1]
17 }
18
19 #[miri_run]
20 fn array_array() -> [[u8; 2]; 3] {
21     [[5, 4], [3, 2], [1, 0]]
22 }
23
24 #[miri_run]
25 fn index_unsafe() -> i32 {
26     let a = [0, 10, 20, 30];
27     unsafe { *a.get_unchecked(2) }
28 }
29
30 #[miri_run]
31 fn index() -> i32 {
32     let a = [0, 10, 20, 30];
33     a[2]
34 }
35
36 #[miri_run]
37 fn array_repeat() -> [u8; 8] {
38     [42; 8]
39 }
40
41 #[miri_run]
42 fn slice_index() -> u8 {
43     let arr: &[_] = &[101, 102, 103, 104, 105, 106];
44     arr[5]
45 }
46
47 #[miri_run]
48 fn main() {
49     // assert_eq!(empty_array(), []);
50     assert_eq!(index_unsafe(), 20);
51     assert_eq!(index(), 20);
52     assert_eq!(slice_index(), 106);
53     /*
54     assert_eq!(big_array(), [5, 4, 3, 2, 1]);
55     assert_eq!(array_array(), [[5, 4], [3, 2], [1, 0]]);
56     assert_eq!(array_repeat(), [42; 8]);
57     */
58 }