mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-09-27 06:20:11 +01:00
A lambda introducer (`fn` in expression context) with no parameters and no body -- for example `(fn)`, where `)` immediately follows `fn` -- left `HandleLambdaAfterParams` calling `ReturnErrorOnState()` without ever emitting a `Lambda` node. The orphaned `LambdaIntroducer` leaf was then left where an expression was required, so `Parse` produced a tree that failed its own verification and aborted via `CARBON_FATAL`. Recover the way `HandleLambdaBody` already does for a missing body after a return type: emit a placeholder `InvalidParse` body and finish a complete `Lambda` node, so the lambda stays a valid expression and the surrounding construct (here a `ParenExpr`) extracts cleanly. Found by fuzzing. Assisted-by: Claude Code