1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#[macro_export]
macro_rules! hashset {

    () => {
        {
            ::std::collections::HashSet::new()
        }
    };

    ($elem:expr $(, $tail:expr)*) => {
        {
            let mut set = ::std::collections::HashSet::new();
            set.insert($elem);
            $(
                set.insert($tail);
            )*
            set
        }
    };
}