Files
swift-mirror/lib/Sema/ConstantnessSemaDiagnostics.cpp
Josh Learn f748c84cf1 [Sema][MiscDiag] Fix constantness diag to handle result builder patterns
We currently have a problem with how constantness diagnostics
traverse the AST to look for function calls to diagnose. We
special case closure bodies and don't check them (unless they're
single expression closures) because closure bodies are type-
checked separately and will be covered later. This poses a problem
in certain AST structures, such as what we see with result builders,
because the call expressions are rooted in declarations, which aren't
checked in the closure body type-checking covered by MiscDiag.

This patch fixes the problem by manually checking all closure bodies
and stopping misc diagnostics from checking the bodies separately.

rdar://85737300
2021-12-15 18:26:29 -08:00

15 KiB