2
2
3
3
// See also rdar://15626843.
4
4
static var gvu1 : Int // expected-error {{static properties may only be declared on a type}}{{1-8=}}
5
- // expected-error@-1 {{global 'var' declaration requires an initializer expression or getter/setter specifier}}
5
+ // expected-error@-1 {{global 'var' declaration requires an initializer expression or an explicitly stated getter}}
6
+ // expected-note@-2 {{add an initializer to silence this error}} {{18-18= = <#initializer#>}}
6
7
class var gvu2 : Int // expected-error {{class properties may only be declared on a type}}{{1-7=}}
7
- // expected-error@-1 {{global 'var' declaration requires an initializer expression or getter/setter specifier}}
8
+ // expected-error@-1 {{global 'var' declaration requires an initializer expression or an explicitly stated getter}}
9
+ // expected-note@-2 {{add an initializer to silence this error}} {{17-17= = <#initializer#>}}
8
10
override static var gvu3 : Int // expected-error {{static properties may only be declared on a type}}{{10-17=}}
9
11
// expected-error@-1 {{'override' can only be specified on class members}}{{1-10=}}
10
- // expected-error@-2 {{global 'var' declaration requires an initializer expression or getter/setter specifier}}
12
+ // expected-error@-2 {{global 'var' declaration requires an initializer expression or an explicitly stated getter}}
13
+ // expected-note@-3 {{add an initializer to silence this error}} {{27-27= = <#initializer#>}}
11
14
override class var gvu4 : Int // expected-error {{class properties may only be declared on a type}}{{10-16=}}
12
15
// expected-error@-1 {{'override' can only be specified on class members}}{{1-10=}}
13
- // expected-error@-2 {{global 'var' declaration requires an initializer expression or getter/setter specifier}}
16
+ // expected-error@-2 {{global 'var' declaration requires an initializer expression or an explicitly stated getter}}
17
+ // expected-note@-3 {{add an initializer to silence this error}} {{26-26= = <#initializer#>}}
14
18
static override var gvu5 : Int // expected-error {{static properties may only be declared on a type}}{{1-8=}}
15
19
// expected-error@-1 {{'override' can only be specified on class members}}{{8-17=}}
16
- // expected-error@-2 {{global 'var' declaration requires an initializer expression or getter/setter specifier}}
20
+ // expected-error@-2 {{global 'var' declaration requires an initializer expression or an explicitly stated getter}}
21
+ // expected-note@-3 {{add an initializer to silence this error}} {{27-27= = <#initializer#>}}
17
22
class override var gvu6 : Int // expected-error {{class properties may only be declared on a type}}{{1-7=}}
18
23
// expected-error@-1 {{'override' can only be specified on class members}}{{7-16=}}
19
- // expected-error@-2 {{global 'var' declaration requires an initializer expression or getter/setter specifier}}
24
+ // expected-error@-2 {{global 'var' declaration requires an initializer expression or an explicitly stated getter}}
25
+ // expected-note@-3 {{add an initializer to silence this error}} {{26-26= = <#initializer#>}}
20
26
21
27
static var gvu7 : Int { // expected-error {{static properties may only be declared on a type}}{{1-8=}}
22
28
return 42
@@ -28,20 +34,26 @@ class var gvu8: Int { // expected-error {{class properties may only be declared
28
34
29
35
static let glu1 : Int // expected-error {{static properties may only be declared on a type}}{{1-8=}}
30
36
// expected-error@-1 {{global 'let' declaration requires an initializer expression}}
37
+ // expected-note@-2 {{add an initializer to silence this error}} {{18-18= = <#initializer#>}}
31
38
class let glu2 : Int // expected-error {{class properties may only be declared on a type}}{{1-7=}}
32
39
// expected-error@-1 {{global 'let' declaration requires an initializer expression}}
40
+ // expected-note@-2 {{add an initializer to silence this error}} {{17-17= = <#initializer#>}}
33
41
override static let glu3 : Int // expected-error {{static properties may only be declared on a type}}{{10-17=}}
34
42
// expected-error@-1 {{'override' can only be specified on class members}}{{1-10=}}
35
43
// expected-error@-2 {{global 'let' declaration requires an initializer expression}}
44
+ // expected-note@-3 {{add an initializer to silence this error}} {{27-27= = <#initializer#>}}
36
45
override class let glu4 : Int // expected-error {{class properties may only be declared on a type}}{{10-16=}}
37
46
// expected-error@-1 {{'override' can only be specified on class members}}{{1-10=}}
38
47
// expected-error@-2 {{global 'let' declaration requires an initializer expression}}
48
+ // expected-note@-3 {{add an initializer to silence this error}} {{26-26= = <#initializer#>}}
39
49
static override let glu5 : Int // expected-error {{static properties may only be declared on a type}}{{1-8=}}
40
50
// expected-error@-1 {{'override' can only be specified on class members}}{{8-17=}}
41
51
// expected-error@-2 {{global 'let' declaration requires an initializer expression}}
52
+ // expected-note@-3 {{add an initializer to silence this error}} {{27-27= = <#initializer#>}}
42
53
class override let glu6 : Int // expected-error {{class properties may only be declared on a type}}{{1-7=}}
43
54
// expected-error@-1 {{'override' can only be specified on class members}}{{7-16=}}
44
55
// expected-error@-2 {{global 'let' declaration requires an initializer expression}}
56
+ // expected-note@-3 {{add an initializer to silence this error}} {{26-26= = <#initializer#>}}
45
57
46
58
47
59
static var gvi1 : Int = 0 // expected-error {{static properties may only be declared on a type}}{{1-8=}}
@@ -187,7 +199,8 @@ extension P {
187
199
188
200
struct S1 {
189
201
// rdar://15626843
190
- static var x : Int // expected-error {{'static var' declaration requires an initializer expression or getter/setter specifier}}
202
+ static var x : Int // expected-error {{'static var' declaration requires an initializer expression or an explicitly stated getter}}
203
+ // expected-note@-1 {{add an initializer to silence this error}} {{17-17= = <#initializer#>}}
191
204
var y = 1
192
205
193
206
static var z = 5
@@ -205,7 +218,20 @@ enum E1 {
205
218
}
206
219
207
220
class C1 {
208
- class var x : Int // expected-error {{class stored properties not supported}} expected-error {{'class var' declaration requires an initializer expression or getter/setter specifier}}
221
+ class var x : Int // expected-error {{class stored properties not supported}} expected-error {{'class var' declaration requires an initializer expression or an explicitly stated getter}}
222
+ // expected-note@-1 {{add an initializer to silence this error}} {{16-16= = <#initializer#>}}
223
+ class let x : Int // expected-error {{class stored properties not supported}} expected-error {{'class let' declaration requires an initializer expression or an explicitly stated getter}}
224
+ // expected-note@-1 {{add an initializer to silence this error}} {{16-16= = <#initializer#>}}
225
+ static var x : Int // expected-error {{'static var' declaration requires an initializer expression or an explicitly stated getter}}
226
+ // expected-note@-1 {{add an initializer to silence this error}} {{17-17= = <#initializer#>}}
227
+ static let x : Int // expected-error {{'static let' declaration requires an initializer expression or an explicitly stated getter}}
228
+ // expected-note@-1 {{add an initializer to silence this error}} {{17-17= = <#initializer#>}}
229
+
230
+ // FIXME: We immediately invalidate the pattern binding after the first error
231
+ // is emitted, but we could definitely emit a second round of fixits for the
232
+ // other pattern here.
233
+ static var ( x, y) : ( Int , Int ) , ( z, w) : ( Int , Int ) // expected-error {{'static var' declaration requires an initializer expression or an explicitly stated getter}}
234
+ // expected-note@-1 {{add an initializer to silence this error}} {{31-31= = <#initializer#>}}
209
235
}
210
236
211
237
class C2 {
0 commit comments