[6.1] TypeCheckType: Do not fail after emitting a warning #80595
+28
−26
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.
Explanation: We forgot to remove a return of an error type after emitting a diagnostic that had been downgraded to a warning. This omission caused code that became valid to still contain an error type despite not producing an error and trip the AST verifier or crash later down the line with a no-asserts configuration.
The issue was introduced in [6.1] TypeCheckType: Unconditionally warn about missing existential
any
until a future language mode #78389.Scope: Syntax diagnosis for constrained existential types.
Issues: Resolves Compiler crash "checked decl cannot have error type" starting with the development snapshot build
swift-DEVELOPMENT-SNAPSHOT-2025-02-15-a
#79916.Original PRs: TypeCheckType: Do not fail after emitting a warning #79934.
Risk: Very low. The removed diagnosis is already fully covered for in the existential syntax checker and must not impede successful compilation.
Testing: Added regression test.
Reviewers: I merged the original PR without a peer review as a code owner.