summaryrefslogtreecommitdiffstats
path: root/third_party/rust/arrayref/examples/array_refs_with_const.rs
blob: 734ef462703dfae1d826fd9c30625b34652708c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#[macro_use]
extern crate arrayref;

const SIZE: usize = 10;
const SIZE_A: usize = 2;
const SIZE_B: usize = 3;
const SIZE_C: usize = 5;

fn main() {
    let x: [u8; SIZE] = [0,1,2,3,4,5,6,7,8,9];
    let (a,b,c) = array_refs!(&x, SIZE_A, SIZE_B, SIZE_C);
    assert_eq!(SIZE_A, a.len());
    assert_eq!(SIZE_B, b.len());
    assert_eq!(SIZE_C, c.len());
    assert_eq!(*a, [0,1]);
    assert_eq!(*b, [2,3,4]);
    assert_eq!(*c, [5,6,7,8,9]);
}