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`.
