diff options
Diffstat (limited to 'third_party/rust/arrayref/examples')
-rw-r--r-- | third_party/rust/arrayref/examples/array_refs.rs | 13 | ||||
-rw-r--r-- | third_party/rust/arrayref/examples/array_refs_with_const.rs | 18 | ||||
-rw-r--r-- | third_party/rust/arrayref/examples/simple-case.rs | 15 |
3 files changed, 46 insertions, 0 deletions
diff --git a/third_party/rust/arrayref/examples/array_refs.rs b/third_party/rust/arrayref/examples/array_refs.rs new file mode 100644 index 0000000000..a3ff081a11 --- /dev/null +++ b/third_party/rust/arrayref/examples/array_refs.rs @@ -0,0 +1,13 @@ +#[macro_use] +extern crate arrayref; + +fn main() { + let x = [0,1,2,3,4,5,6,7,8,9]; + let (a,b,c) = array_refs!(&x, 2, 3, 5); + assert_eq!(2, a.len()); + assert_eq!(3, b.len()); + assert_eq!(5, c.len()); + assert_eq!(*a, [0,1]); + assert_eq!(*b, [2,3,4]); + assert_eq!(*c, [5,6,7,8,9]); +} diff --git a/third_party/rust/arrayref/examples/array_refs_with_const.rs b/third_party/rust/arrayref/examples/array_refs_with_const.rs new file mode 100644 index 0000000000..734ef46270 --- /dev/null +++ b/third_party/rust/arrayref/examples/array_refs_with_const.rs @@ -0,0 +1,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]); +} diff --git a/third_party/rust/arrayref/examples/simple-case.rs b/third_party/rust/arrayref/examples/simple-case.rs new file mode 100644 index 0000000000..434e253ae6 --- /dev/null +++ b/third_party/rust/arrayref/examples/simple-case.rs @@ -0,0 +1,15 @@ +#[macro_use] +extern crate arrayref; + +fn add_three(a: &[u8; 3]) -> u8 { + a[0] + a[1] + a[2] +} + +fn main() { + let mut x = [0u8; 30]; + x[20] = 1; + x[21] = 4; + x[24] = 3; + x[0] = add_three(array_mut_ref![x,20,3]); + assert_eq!(x[0], 8); +} |