Open
Description
You can use a repetition to get around the future proofer.
macro_rules! bad {
($e:expr $i:ident) => {} //~ERROR
}
macro_rules! sneaky {
($($i:ident $e:expr)*) => {} // no error
}
fn main() {
sneaky!(a b c d);
}
I feel that both of these should be accepted, or neither. BTW, I am using the equivalent of sneaky!
in brainmunch (found this while preparing my RustFest talk).
Fixing this by disallowing both macros would require cratering.