File tree Expand file tree Collapse file tree 2 files changed +14
-4
lines changed Expand file tree Collapse file tree 2 files changed +14
-4
lines changed Original file line number Diff line number Diff line change @@ -6051,10 +6051,9 @@ computeDefaultInferredActorIsolation(ValueDecl *value) {
6051
6051
sendableConformanceRequiresNonisolated (nominalTypeDecl))
6052
6052
return { };
6053
6053
6054
- // FIXME: deinit should be implicitly MainActor too.
6055
6054
if (isa<TypeDecl>(value) || isa<ExtensionDecl>(value) ||
6056
- isa<AbstractStorageDecl>(value) || isa<FuncDecl>(value) ||
6057
- isa<ConstructorDecl >(value)) {
6055
+ isa<AbstractStorageDecl>(value) ||
6056
+ isa<AbstractFunctionDecl >(value)) {
6058
6057
// Preconcurrency here is used to stage the diagnostics
6059
6058
// when users select `@MainActor` default isolation with
6060
6059
// non-strict concurrency modes (pre Swift 6).
Original file line number Diff line number Diff line change 8
8
class Klass {
9
9
// Implicit deinit
10
10
// CHECK: // Klass.deinit
11
- // CHECK-NEXT: // Isolation: unspecified
11
+ // CHECK-NEXT: // Isolation: global_actor. type: MainActor
12
12
// CHECK-NEXT: sil hidden [ossa] @$s16assume_mainactor5KlassCfd : $@convention(method) (@guaranteed Klass) -> @owned Builtin.NativeObject {
13
13
14
14
// Implicit deallocating deinit
15
15
// CHECK: // Klass.__deallocating_deinit
16
16
// CHECK-NEXT: // Isolation: nonisolated
17
17
// CHECK-NEXT: sil hidden [ossa] @$s16assume_mainactor5KlassCfD : $@convention(method) (@owned Klass) -> () {
18
+ // CHECK: swift_task_deinitOnExecutor
18
19
19
20
// Implicit allocating init
20
21
// CHECK: // Klass.__allocating_init()
@@ -66,6 +67,16 @@ struct NonIsolatedStructContainingKlass {
66
67
// CHECK-NEXT: sil hidden [ossa] @$s16assume_mainactor32NonIsolatedStructContainingKlassVACycfC : $@convention(method) (@thin NonIsolatedStructContainingKlass.Type) -> @owned NonIsolatedStructContainingKlass {
67
68
}
68
69
70
+ struct NonCopyableStruct : ~ Copyable {
71
+ var x : Int
72
+ var y : Int
73
+
74
+ // CHECK: NonCopyableStruct.deinit
75
+ // CHECK-NEXT: Isolation: nonisolated
76
+ deinit {
77
+ }
78
+ }
79
+
69
80
@globalActor
70
81
actor CustomActor {
71
82
static nonisolated let shared = CustomActor ( )
You can’t perform that action at this time.
0 commit comments