You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
x.unavailableGetterAndSetter = someValue // expected-error {{setter for 'unavailableGetterAndSetter' is unavailable}}
181
199
x.unavailableGetterAndSetter.a = someValue.a // expected-error {{getter for 'unavailableGetterAndSetter' is unavailable}}
182
-
// FIXME: missing diagnostic for getter
183
-
x.unavailableGetterAndSetter[0]= someValue.a
200
+
x.unavailableGetterAndSetter[0]= someValue.a // expected-error {{getter for 'unavailableGetterAndSetter' is unavailable}}
184
201
x.unavailableGetterAndSetter[0].b =1 // expected-error {{getter for 'unavailableGetterAndSetter' is unavailable}}
185
202
}
186
203
204
+
func testSubscripts(_ s:BaseStruct<StructValue>){
205
+
varx=BaseStruct<SubscriptHelper>()
206
+
207
+
// Available subscript, available member, varying argument availability
208
+
x.available[available: s.available]=()
209
+
x.available[available: s.unavailableGetter]=() // expected-error {{getter for 'unavailableGetter' is unavailable}}
210
+
x.available[available: s.unavailableSetter]=()
211
+
x.available[available: s.unavailableGetterAndSetter]=() // expected-error {{getter for 'unavailableGetterAndSetter' is unavailable}}
212
+
213
+
_ = x.available[available: s.available]
214
+
_ = x.available[available: s.unavailableGetter] // expected-error {{getter for 'unavailableGetter' is unavailable}}
215
+
_ = x.available[available: s.unavailableSetter]
216
+
_ = x.available[available: s.unavailableGetterAndSetter] // expected-error {{getter for 'unavailableGetterAndSetter' is unavailable}}
217
+
218
+
// Varying subscript availability, available member, available argument
219
+
x.available[unavailableGetter: s.available]=()
220
+
x.available[unavailableSetter: s.available]=() // expected-error {{setter for 'subscript(unavailableSetter:)' is unavailable}}
221
+
x.available[unavailableGetterAndSetter: s.available]=() // expected-error {{setter for 'subscript(unavailableGetterAndSetter:)' is unavailable}}
222
+
223
+
_ = x.available[unavailableGetter: s.available] // expected-error {{getter for 'subscript(unavailableGetter:)' is unavailable}}
224
+
_ = x.available[unavailableSetter: s.available]
225
+
_ = x.available[unavailableGetterAndSetter: s.available] // expected-error {{getter for 'subscript(unavailableGetterAndSetter:)' is unavailable}}
226
+
227
+
// Available subscript, varying member availability, available argument
228
+
x.unavailableGetter[available: s.available]=() // expected-error {{getter for 'unavailableGetter' is unavailable}}
229
+
x.unavailableSetter[available: s.available]=() // expected-error {{setter for 'unavailableSetter' is unavailable}}
230
+
x.unavailableGetterAndSetter[available: s.available]=() // expected-error {{getter for 'unavailableGetterAndSetter' is unavailable}} expected-error {{setter for 'unavailableGetterAndSetter' is unavailable}}
231
+
232
+
_ = x.unavailableGetter[available: s.available] // expected-error {{getter for 'unavailableGetter' is unavailable}}
233
+
_ = x.unavailableSetter[available: s.available]
234
+
_ = x.unavailableGetterAndSetter[available: s.available] // expected-error {{getter for 'unavailableGetterAndSetter' is unavailable}}
0 commit comments