Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Recovery is bad here, that's sad, but unfortunately recovering correctly is too hard (we'd need to detect the + before we parse the !, so either an arbitrary lookahead or manipulating nodes we already emitted, both are not implemented and probably not a good idea to support). The changed test is some code that used to parse correctly (and probably panic in HIR lowering) that now errors (notably, it is in the Box<...> return type and not the param bounds). So I think this PR is what we're left with.