1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
macro_rules! debug {
($( $args:expr ),*) => {
if cfg!(debug_assertions) {
println!( $( $args ),* );
}
}
}
#[macro_export]
macro_rules! scope {
(@single $($x:tt)*) => (());
(@count $($rest:expr),*) => (<[()]>::len(&[$(scope!(@single $rest)),*]));
($($key:expr => $value:expr,)+) => { scope!($($key => $value),+) };
($($key:expr => $value:expr),*) => {
{
let _cap = scope!(@count $($key),*);
let mut _map = $crate::Scope::with_capacity(_cap);
$(
_map.set_var($key, $value);
)*
_map
}
};
}