// Copyright 2017 Serde Developers // // Licensed under the Apache License, Version 2.0 or the MIT license // , at your // option. This file may not be copied, modified, or distributed // except according to those terms. macro_rules! btreeset { () => { BTreeSet::new() }; ($($value:expr),+) => { { let mut set = BTreeSet::new(); $(set.insert($value);)+ set } } } macro_rules! btreemap { () => { BTreeMap::new() }; ($($key:expr => $value:expr),+) => { { let mut map = BTreeMap::new(); $(map.insert($key, $value);)+ map } } } macro_rules! hashset { () => { HashSet::new() }; ($($value:expr),+) => { { let mut set = HashSet::new(); $(set.insert($value);)+ set } }; ($hasher:ident @ $($value:expr),+) => { { use std::hash::BuildHasherDefault; let mut set = HashSet::with_hasher(BuildHasherDefault::<$hasher>::default()); $(set.insert($value);)+ set } } } macro_rules! hashmap { () => { HashMap::new() }; ($($key:expr => $value:expr),+) => { { let mut map = HashMap::new(); $(map.insert($key, $value);)+ map } }; ($hasher:ident @ $($key:expr => $value:expr),+) => { { use std::hash::BuildHasherDefault; let mut map = HashMap::with_hasher(BuildHasherDefault::<$hasher>::default()); $(map.insert($key, $value);)+ map } } }