1 // run-pass 2 // Test of allowing two sequences repetitions in a row, 3 // functionality added as byproduct of RFC amendment #1384 4 // https://github.com/rust-lang/rfcs/pull/1384 5 6 // Old version of Rust would reject this macro definition, even though 7 // there are no local ambiguities (the initial `banana` and `orange` 8 // tokens are enough for the expander to distinguish which case is 9 // intended). 10 macro_rules! foo { 11 ( $(banana $a:ident)* $(orange $b:tt)* ) => { }; 12 } 13 main()14fn main() { 15 foo!( banana id1 banana id2 16 orange hi orange (hello world) ); 17 } 18