macro_rules! maybe_whole_expr {
    ($p:expr) => { ... };
}
Expand description

Possibly accepts an token::Interpolated expression (a pre-parsed expression dropped into the token stream, which happens while parsing the result of macro expansion). Placement of these is not as complex as I feared it would be. The important thing is to make sure that lookahead doesn’t balk at token::Interpolated tokens.