handy_dandy_macros/lib.rs
1#[macro_export]
2macro_rules! set {
3 ($($s:expr),*) => {
4 HashSet::from([$($s),*])
5 };
6}
7
8#[cfg(test)]
9mod tests {
10 use std::collections::HashSet;
11
12 #[test]
13 fn creates_empty_hashset() {
14 let set: HashSet<i32> = set!();
15
16 assert_eq!(set.len(), 0);
17 }
18
19 #[test]
20 fn creates_hashset_with_items() {
21 let set = set!(1, 2, 3, 69);
22
23 assert_eq!(set.len(), 4);
24
25 assert_eq!(set, HashSet::from([1, 2, 3, 69]));
26 }
27}