| //@ check-pass |
| //@ aux-build:issue-79242.rs |
| |
| // Regression test for issue #79242 |
| // Tests that compilation time doesn't blow up for a proc-macro |
| // invocation with deeply nested nonterminals |
| |
| #![allow(unused)] |
| |
| extern crate issue_79242; |
| |
| macro_rules! declare_nats { |
| ($prev:ty) => {}; |
| ($prev:ty, $n:literal$(, $tail:literal)*) => { |
| |
| issue_79242::dummy! { |
| $prev |
| } |
| |
| declare_nats!(Option<$prev>$(, $tail)*); |
| }; |
| (0, $($n:literal),+) => { |
| pub struct N0; |
| declare_nats!(N0, $($n),+); |
| }; |
| } |
| |
| declare_nats! { |
| 0, 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, 27, 28 |
| } |
| |
| |
| fn main() {} |