Issue Kind
Bad Diagnostic Produced
Source Code
func foo() bogus -> Int {}
() bogus reasync -> Int
Description
Instead of using at to check for the -> or {, we should check whether we can recover to it on the same line, possibly reducing the recovery precedence when parsing function types because they could be followed by an identifier.