Files
Allan Shortlidge 75c34c103c Sema: Tolerate an invalid thrown error type during effects checking.
When the type named in a `throws(...)` clause fails to resolve, the effective
thrown error type of the declaration is an error type, which tripped an
assertion in `Classification::forThrows()`. Errors were already diagnosed by
that point, so classify the reference as invalid code instead.

Resolves rdar://186881939 and https://github.com/swiftlang/swift/issues/92053.
2026-09-16 20:52:33 -07:00

5 lines
487 B
Swift

// {"kind":"typecheck","signature":"(anonymous namespace)::Classification::forDeclRef(swift::ConcreteDeclRef, (anonymous namespace)::ConditionalEffectKind, (anonymous namespace)::PotentialEffectReason, swift::SourceLoc, bool, std::__1::optional<swift::EffectKind>)","signatureAssert":"Assertion failed: (!thrownError->hasError()), function forThrows","signatureNext":"ApplyClassifier::classifyDeclRef"}
// RUN: not %target-swift-frontend -typecheck %s
var a : String { get throws(b{
a