macro_rules! seq {
    ( $container: expr, []) => { ... };
    ( $container: expr, [ $( $v:expr ),+ ] ) => { ... };
    ( $container: expr, [ $( $v:expr ),+, ] ) => { ... };
}
Expand description

A generic syntax for seq-like structures.

Works for Vec but also for serde_json or serde_yaml arrays.


use std::collections::HashMap;

let empty: Vec<u8> = seq!(Vec::new(), []);
assert_eq!(empty.len(), 0);

let vec: Vec<u8> = seq!(Vec::new(), [
   255,
   254,
   253,
]);
assert_eq!(vec.len(), 3);
assert!(matches!(vec.get(0), Some(255)));
assert!(matches!(vec.get(1), Some(254)));
assert!(matches!(vec.get(2), Some(253)));