#[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]); }