Skip to content

Commit 3b55b32

Browse files
authored
Merge pull request #84467 from tshortli/skip-isolated-deinit-availability-diags-during-emit-module
Sema: Don't diagnose isolated deinit availability in skipped function bodies
2 parents 563c014 + ec0f3e3 commit 3b55b32

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

lib/Sema/TypeCheckAttr.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,12 @@ class AttributeChecker : public AttributeVisitor<AttributeChecker> {
135135
}
136136

137137
if (!getActorIsolation(nominal).isMainActor() && destructor->hasBody()) {
138+
// In module emission jobs, type checking the body of the destructor may
139+
// be skipped which means availability in the body cannot be diagnosed
140+
// accurately.
141+
if (destructor->isBodySkipped())
142+
return;
143+
138144
TypeChecker::checkAvailability(
139145
destructor->getBodySourceRange(), C.getIsolatedDeinitAvailability(),
140146
D->getDeclContext(),

test/Concurrency/deinit_isolation_availability.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22
// RUN: %target-typecheck-verify-swift -swift-version 5 %s -strict-concurrency=complete -target %target-swift-6.1-abi-triple
33
// RUN: %target-typecheck-verify-swift -swift-version 5 %s -strict-concurrency=complete -target %target-swift-6.1-abi-triple -target-min-inlining-version min -verify-additional-prefix inlining-
44

5+
// Test -emit-module configurations.
6+
7+
// RUN: %target-swift-frontend -emit-module -verify -swift-version 5 %s -strict-concurrency=complete -target %target-swift-5.1-abi-triple -experimental-skip-non-inlinable-function-bodies -verify-additional-prefix inlining-
8+
// RUN: %target-swift-frontend -emit-module -verify -swift-version 5 %s -strict-concurrency=complete -target %target-swift-6.1-abi-triple -experimental-skip-non-inlinable-function-bodies -target-min-inlining-version min -verify-additional-prefix inlining-
9+
510
// REQUIRES: concurrency
611
// REQUIRES: OS=macosx
712

0 commit comments

Comments
 (0)