Skip to content

Commit c880534

Browse files
authored
Merge pull request #41591 from kavon/or-actor
update diagnostic since actors can have deinits
2 parents 29ebb3d + c4fc99e commit c880534

File tree

9 files changed

+20
-20
lines changed

9 files changed

+20
-20
lines changed

include/swift/AST/DiagnosticsParse.def

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -424,7 +424,7 @@ ERROR(initializer_has_name,PointsToFirstBadToken,
424424

425425
// Destructor
426426
ERROR(destructor_decl_outside_class,none,
427-
"deinitializers may only be declared within a class", ())
427+
"deinitializers may only be declared within a class or actor", ())
428428
ERROR(expected_lbrace_destructor,PointsToFirstBadToken,
429429
"expected '{' for deinitializer", ())
430430
ERROR(destructor_has_name,PointsToFirstBadToken,

test/Parse/init_deinit.swift

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ struct FooStructDeinitializerB {
2626
}
2727

2828
struct FooStructDeinitializerC {
29-
deinit {} // expected-error {{deinitializers may only be declared within a class}}
29+
deinit {} // expected-error {{deinitializers may only be declared within a class or actor}}
3030
}
3131

3232
class FooClassDeinitializerA {
@@ -45,30 +45,30 @@ init {} // expected-error {{initializers may only be declared within a type}} ex
4545
init() // expected-error {{initializers may only be declared within a type}}
4646
init() {} // expected-error {{initializers may only be declared within a type}}
4747

48-
deinit {} // expected-error {{deinitializers may only be declared within a class}}
48+
deinit {} // expected-error {{deinitializers may only be declared within a class or actor}}
4949
deinit // expected-error {{expected '{' for deinitializer}}
50-
deinit {} // expected-error {{deinitializers may only be declared within a class}}
50+
deinit {} // expected-error {{deinitializers may only be declared within a class or actor}}
5151

5252
struct BarStruct {
5353
init() {}
54-
deinit {} // expected-error {{deinitializers may only be declared within a class}}
54+
deinit {} // expected-error {{deinitializers may only be declared within a class or actor}}
5555
}
5656

5757
extension BarStruct {
5858
init(x : Int) {}
5959

6060
// When/if we allow 'var' in extensions, then we should also allow dtors
61-
deinit {} // expected-error {{deinitializers may only be declared within a class}}
61+
deinit {} // expected-error {{deinitializers may only be declared within a class or actor}}
6262
}
6363

6464
enum BarUnion {
6565
init() {}
66-
deinit {} // expected-error {{deinitializers may only be declared within a class}}
66+
deinit {} // expected-error {{deinitializers may only be declared within a class or actor}}
6767
}
6868

6969
extension BarUnion {
7070
init(x : Int) {}
71-
deinit {} // expected-error {{deinitializers may only be declared within a class}}
71+
deinit {} // expected-error {{deinitializers may only be declared within a class or actor}}
7272
}
7373

7474
class BarClass {
@@ -78,22 +78,22 @@ class BarClass {
7878

7979
extension BarClass {
8080
convenience init(x : Int) { self.init() }
81-
deinit {} // expected-error {{deinitializers may only be declared within a class}}
81+
deinit {} // expected-error {{deinitializers may only be declared within a class or actor}}
8282
}
8383

8484
protocol BarProtocol {
8585
init() {} // expected-error {{protocol initializers must not have bodies}}
86-
deinit {} // expected-error {{deinitializers may only be declared within a class}}
86+
deinit {} // expected-error {{deinitializers may only be declared within a class or actor}}
8787
}
8888

8989
extension BarProtocol {
9090
init(x : Int) {}
91-
deinit {} // expected-error {{deinitializers may only be declared within a class}}
91+
deinit {} // expected-error {{deinitializers may only be declared within a class or actor}}
9292
}
9393

9494
func fooFunc() {
9595
init() {} // expected-error {{initializers may only be declared within a type}}
96-
deinit {} // expected-error {{deinitializers may only be declared within a class}}
96+
deinit {} // expected-error {{deinitializers may only be declared within a class or actor}}
9797
}
9898

9999
func barFunc() {
@@ -105,7 +105,7 @@ func barFunc() {
105105

106106
var y : () = { () -> () in
107107
// expected-warning@-1 {{variable 'y' was never used; consider replacing with '_' or removing it}}
108-
deinit {} // expected-error {{deinitializers may only be declared within a class}}
108+
deinit {} // expected-error {{deinitializers may only be declared within a class or actor}}
109109
return
110110
} ()
111111
}

test/SIL/parse_swift_decls_in_sil_mode.sil

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
typealias Int = ()
44

5-
deinit // expected-error {{deinitializers may only be declared within a class}}
5+
deinit // expected-error {{deinitializers may only be declared within a class or actor}}
66

77
subscript (x : Int, y : Int) -> Int { get }// expected-error{{'subscript' functions may only be declared within a type}}
88

test/Serialization/AllowErrors/invalid-deinit.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
struct Foo {}
1313

1414
@discardableResult // expected-error{{'@discardableResult' attribute cannot be applied to this declaration}}
15-
deinit {} // expected-error{{deinitializers may only be declared within a class}}
15+
deinit {} // expected-error{{deinitializers may only be declared within a class or actor}}
1616

1717
func foo() -> Foo { return Foo() }
1818

test/SourceKit/DocumentStructure/structure.swift.empty.response

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1722,7 +1722,7 @@
17221722
key.column: 1,
17231723
key.severity: source.diagnostic.severity.error,
17241724
key.id: "destructor_decl_outside_class",
1725-
key.description: "deinitializers may only be declared within a class",
1725+
key.description: "deinitializers may only be declared within a class or actor",
17261726
key.diagnostic_stage: source.diagnostic.stage.swift.parse
17271727
}
17281728
]

test/SourceKit/DocumentStructure/structure.swift.foobar.response

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1727,7 +1727,7 @@
17271727
key.filepath: "-foobar",
17281728
key.severity: source.diagnostic.severity.error,
17291729
key.id: "destructor_decl_outside_class",
1730-
key.description: "deinitializers may only be declared within a class",
1730+
key.description: "deinitializers may only be declared within a class or actor",
17311731
key.diagnostic_stage: source.diagnostic.stage.swift.parse
17321732
}
17331733
]

test/SourceKit/DocumentStructure/structure.swift.response

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1727,7 +1727,7 @@
17271727
key.filepath: main.swift,
17281728
key.severity: source.diagnostic.severity.error,
17291729
key.id: "destructor_decl_outside_class",
1730-
key.description: "deinitializers may only be declared within a class",
1730+
key.description: "deinitializers may only be declared within a class or actor",
17311731
key.diagnostic_stage: source.diagnostic.stage.swift.parse
17321732
}
17331733
]

test/decl/ext/extensions.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ extension extension_for_invalid_type_3 { // expected-error {{cannot find type 'e
1010
init() {}
1111
}
1212
extension extension_for_invalid_type_4 { // expected-error {{cannot find type 'extension_for_invalid_type_4' in scope}}
13-
deinit {} // expected-error {{deinitializers may only be declared within a class}}
13+
deinit {} // expected-error {{deinitializers may only be declared within a class or actor}}
1414
}
1515
extension extension_for_invalid_type_5 { // expected-error {{cannot find type 'extension_for_invalid_type_5' in scope}}
1616
typealias X = Int

test/decl/protocol/protocols.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ protocol EmptyProtocol { }
33

44
protocol DefinitionsInProtocols {
55
init() {} // expected-error {{protocol initializers must not have bodies}}
6-
deinit {} // expected-error {{deinitializers may only be declared within a class}}
6+
deinit {} // expected-error {{deinitializers may only be declared within a class or actor}}
77
}
88

99
// Protocol decl.

0 commit comments

Comments
 (0)