macro_rules! permutation_trait_inner { ($it:tt, $self:expr, $input:ident, $start:ident, $res:expr, $err:expr, $head:ident $($id:ident)*) => { ... }; ($it:tt, $self:expr, $input:ident, $start:ident, $res:expr, $err:expr,) => { ... }; }
macro_rules! permutation_trait_inner { ($it:tt, $self:expr, $input:ident, $start:ident, $res:expr, $err:expr, $head:ident $($id:ident)*) => { ... }; ($it:tt, $self:expr, $input:ident, $start:ident, $res:expr, $err:expr,) => { ... }; }