error: expected expression, found `@` --> $DIR/nt-parsing-has-recovery.rs:5:10 | LL | ($e:expr) => {} | ------- while parsing argument for this `expr` macro fragment ... LL | foo!(1 + @); | ^ expected expression error: expected expression, found `@` --> $DIR/nt-parsing-has-recovery.rs:6:10 | LL | ($e:expr) => {} | ------- while parsing argument for this `expr` macro fragment ... LL | foo!(1 + @); | ^ expected expression error[E0308]: mismatched types --> $DIR/nt-parsing-has-recovery.rs:9:33 | LL | let _recovery_witness: () = 0; | -- ^ expected `()`, found integer | | | expected due to this error: aborting due to 3 previous errors For more information about this error, try `rustc --explain E0308`.