macro_rules! sac {
( $($key:tt : $value:expr),+ ) => { ... };
( $($key:tt : $value: expr),+, ) => { ... };
( $($item:expr),+, ) => { ... };
( $($item:expr),* ) => { ... };
( @map $( ($key:expr, $value: expr) ),+ ) => { ... };
( @item $key:expr, $value:expr ) => { ... };
}
use std::collections::HashMap;
let vec: Vec<()> = sac![];
let map: HashMap<(), ()> = sac! {};
use std::collections::{
VecDeque,
LinkedList,
HashSet,
BTreeSet,
BinaryHeap,
};
let vec: Vec<_> = sac![1, 2, 3, 4];
let vec_deque: VecDeque<_> = sac![1, 2, 3, 4];
let linked_list: LinkedList<_> = sac![1, 2, 3, 4];
let binary_heap: BinaryHeap<_> = sac![1, 2, 3, 4];
use std::collections::{
HashMap,
BTreeMap,
};
let hash_map: HashMap<_, _> = sac! {
"key0": "value0",
"key1": "value1",
};
let b_tree_map: BTreeMap<_, _> = sac! {
"key0": "value0",
"key1": "value1",
};