error: no rules expected the token `enum E {}` --> $DIR/nonterminal-matching.rs:19:10 | LL | macro complex_nonterminal($nt_item: item) { | -------------- LL | macro n(a $nt_item b) { | --------------------- when calling this macro ... LL | n!(a $nt_item b); | ^^^^^^^^ no rules expected this token in macro call ... LL | complex_nonterminal!(enum E {}); | ------------------------------- in this macro invocation | note: while trying to match `enum E {}` --> $DIR/nonterminal-matching.rs:15:15 | LL | macro n(a $nt_item b) { | ^^^^^^^^ ... LL | complex_nonterminal!(enum E {}); | ------------------------------- in this macro invocation = note: captured metavariables except for `:tt`, `:ident` and `:lifetime` cannot be compared to other tokens = note: see for more information = help: try using `:tt` instead in the macro definition = note: this error originates in the macro `complex_nonterminal` (in Nightly builds, run with -Z macro-backtrace for more info) error: aborting due to 1 previous error