1 use std::convert::TryFrom;
3 fn empty_array() -> [u16; 0] {
7 fn mini_array() -> [u16; 1] {
11 fn big_array() -> [u16; 5] {
15 fn array_array() -> [[u8; 2]; 3] {
16 [[5, 4], [3, 2], [1, 0]]
19 fn index_unsafe() -> i32 {
20 let a = [0, 10, 20, 30];
21 unsafe { *a.get_unchecked(2) }
25 let a = [0, 10, 20, 30];
29 fn array_repeat() -> [u8; 8] {
33 fn slice_index() -> u8 {
34 let arr: &[_] = &[101, 102, 103, 104, 105, 106];
41 let array: Array = [0; N];
42 let slice: &[u8] = &array[..];
44 let result = <&Array>::try_from(slice);
45 assert_eq!(&array, result.unwrap());
47 let vec = Vec::from(array);
48 assert_eq!(vec.len(), N);
54 let array1: Array = [0; N];
55 let array2: Array = [0; N];
56 let array3: Array = [1; N];
57 assert_eq!(array1, array2);
58 assert_ne!(array1, array3);
62 let array = [0u8, 42, 13, 71];
63 println!("{:?}", array);
67 assert_eq!(empty_array(), []);
68 assert_eq!(index_unsafe(), 20);
69 assert_eq!(index(), 20);
70 assert_eq!(slice_index(), 106);
71 assert_eq!(big_array(), [5, 4, 3, 2, 1]);
72 assert_eq!(array_array(), [[5, 4], [3, 2], [1, 0]]);
73 assert_eq!(array_repeat(), [42; 8]);
74 assert_eq!(mini_array(), [42]);