summaryrefslogtreecommitdiffstats
path: root/third_party/rust/arrayref/examples/array_refs_with_const.rs
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/arrayref/examples/array_refs_with_const.rs')
-rw-r--r--third_party/rust/arrayref/examples/array_refs_with_const.rs18
1 files changed, 18 insertions, 0 deletions
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]);
+}