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}