[TypeCheckEffects] Stage in new effects checker errors for statement expressions as warnings until Swift 6. #70820
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
#68765 fixed a bug where a
try
orawait
on anif
orswitch
expression would consider the branch expressions as covered by that effect marker. However, this is a source breaking change, so these diagnostics need to be staged in as warnings until Swift 6.Missing
try
orawait
errors in statement expression branches will be downgraded to warnings if the enclosing statement expression has the respective effect marker. A redundant effect marker on a statement expression is also unconditionally diagnosed as a warning instead of an error; redundanttry
s orawait
s are never invalid, and there's no reason to make them invalid specifically for statement expressions.This change also fixes an issue where
async let
requiredtry
/await
in statement expressions.Resolves: rdar://119858327, rdar://119858789