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 @@ -6061,10 +6061,9 @@ computeDefaultInferredActorIsolation(ValueDecl *value) {
60616061 sendableConformanceRequiresNonisolated (nominalTypeDecl))
60626062 return { };
60636063
6064- // FIXME: deinit should be implicitly MainActor too.
60656064 if (isa<TypeDecl>(value) || isa<ExtensionDecl>(value) ||
6066- isa<AbstractStorageDecl>(value) || isa<FuncDecl>(value) ||
6067- isa<ConstructorDecl >(value)) {
6065+ isa<AbstractStorageDecl>(value) ||
6066+ isa<AbstractFunctionDecl >(value)) {
60686067 // Preconcurrency here is used to stage the diagnostics
60696068 // when users select `@MainActor` default isolation with
60706069 // non-strict concurrency modes (pre Swift 6).
Original file line number Diff line number Diff line change 88class Klass {
99 // Implicit deinit
1010 // CHECK: // Klass.deinit
11- // CHECK-NEXT: // Isolation: unspecified
11+ // CHECK-NEXT: // Isolation: global_actor. type: MainActor
1212 // CHECK-NEXT: sil hidden [ossa] @$s16assume_mainactor5KlassCfd : $@convention(method) (@guaranteed Klass) -> @owned Builtin.NativeObject {
1313
1414 // Implicit deallocating deinit
1515 // CHECK: // Klass.__deallocating_deinit
1616 // CHECK-NEXT: // Isolation: nonisolated
1717 // CHECK-NEXT: sil hidden [ossa] @$s16assume_mainactor5KlassCfD : $@convention(method) (@owned Klass) -> () {
18+ // CHECK: swift_task_deinitOnExecutor
1819
1920 // Implicit allocating init
2021 // CHECK: // Klass.__allocating_init()
@@ -66,6 +67,16 @@ struct NonIsolatedStructContainingKlass {
6667 // CHECK-NEXT: sil hidden [ossa] @$s16assume_mainactor32NonIsolatedStructContainingKlassVACycfC : $@convention(method) (@thin NonIsolatedStructContainingKlass.Type) -> @owned NonIsolatedStructContainingKlass {
6768}
6869
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+
6980@globalActor
7081actor CustomActor {
7182 static nonisolated let shared = CustomActor ( )
You can’t perform that action at this time.
0 commit comments