macro_rules! path {
([$x:ident ($y:expr)] $([$($z:tt)*])+ $w:expr) => { ... };
([$x0:expr , $($x:expr),+ $(,)?] $z:expr) => { ... };
([$x:expr] [$x1:expr] [$x2:expr] [$x3:expr] [$x4:expr] [$x5:expr] [$x6:expr] $z:expr) => { ... };
([$x:expr] [$x1:expr] [$x2:expr] [$x3:expr] [$x4:expr] [$x5:expr] $z:expr) => { ... };
([$x:expr] [$x1:expr] [$x2:expr] [$x3:expr] [$x4:expr] $z:expr) => { ... };
([$x:expr] [$x1:expr] [$x2:expr] [$x3:expr] $z:expr) => { ... };
([$x:expr] [$x1:expr] [$x2:expr] $z:expr) => { ... };
([$x:expr] [$y:expr] $z:expr) => { ... };
([$x:ident ($y:expr)] $z:expr) => { ... };
([$x:expr] $y:expr) => { ... };
}
Syntax sugar for a path sub-type.
For example:
use path_iter::*;
fn main() {
for a in path!([And] true) {
println!("{:?}", a);
}
}