fn main() {
macro!() + foo; // error: expected one of `.`, `;`, or `}`, found `+`
}
I suspect this may be because the parser calls parse_dot_or_call_expr_with after parsing a macro invocation instead of calling a method that accepts more operators, such as the second half of parse_assign_expr.