File tree Expand file tree Collapse file tree 3 files changed +15
-1
lines changed Expand file tree Collapse file tree 3 files changed +15
-1
lines changed Original file line number Diff line number Diff line change @@ -6002,6 +6002,7 @@ class ExistentialTypeSyntaxChecker : public ASTWalker {
6002
6002
static bool anySyntaxNeedsParens (TypeRepr *parent) {
6003
6003
switch (parent->getKind ()) {
6004
6004
case TypeReprKind::Optional:
6005
+ case TypeReprKind::ImplicitlyUnwrappedOptional:
6005
6006
case TypeReprKind::Protocol:
6006
6007
return true ;
6007
6008
case TypeReprKind::Metatype:
@@ -6016,7 +6017,6 @@ class ExistentialTypeSyntaxChecker : public ASTWalker {
6016
6017
case TypeReprKind::UnqualifiedIdent:
6017
6018
case TypeReprKind::QualifiedIdent:
6018
6019
case TypeReprKind::Dictionary:
6019
- case TypeReprKind::ImplicitlyUnwrappedOptional:
6020
6020
case TypeReprKind::Inverse:
6021
6021
case TypeReprKind::Tuple:
6022
6022
case TypeReprKind::Fixed:
Original file line number Diff line number Diff line change @@ -419,6 +419,13 @@ func testAnyFixIt() {
419
419
let _: ( HasAssoc ) ?
420
420
// expected-error@+1 {{constraint that suppresses conformance requires 'any'}}{{11-20=any ~Copyable}}
421
421
let _: ( ~ Copyable) ?
422
+ // expected-error@+1 {{use of protocol 'HasAssoc' as a type must be written 'any HasAssoc'}}{{10-18=(any HasAssoc)}}
423
+ let _: HasAssoc !
424
+ // expected-error@+2 {{type '(any Copyable)?' cannot be suppressed}}
425
+ // expected-warning@+1 {{using '!' is not allowed here; treating this as '?' instead}}
426
+ let _: ~ Copyable!
427
+ // expected-error@+1 {{constraint that suppresses conformance requires 'any'}}{{11-20=any ~Copyable}}
428
+ let _: ( ~ Copyable) !
422
429
// expected-error@+1 {{use of protocol 'HasAssoc' as a type must be written 'any HasAssoc'}}{{10-23=(any HasAssoc.Type)}}
423
430
let _: HasAssoc . Type ?
424
431
// expected-error@+1 {{constraint that suppresses conformance requires 'any'}}{{10-26=(any (~Copyable).Type)}}
Original file line number Diff line number Diff line change @@ -451,6 +451,13 @@ func testAnyFixIt() {
451
451
let _: ( HasAssoc ) ?
452
452
// expected-error@+1 {{constraint that suppresses conformance requires 'any'}}{{11-20=any ~Copyable}}
453
453
let _: ( ~ Copyable) ?
454
+ // expected-error@+1 {{use of protocol 'HasAssoc' as a type must be written 'any HasAssoc'}}{{10-18=(any HasAssoc)}}
455
+ let _: HasAssoc !
456
+ // expected-error@+2 {{type '(any Copyable)?' cannot be suppressed}}
457
+ // expected-warning@+1 {{using '!' is not allowed here; treating this as '?' instead}}
458
+ let _: ~ Copyable!
459
+ // expected-error@+1 {{constraint that suppresses conformance requires 'any'}}{{11-20=any ~Copyable}}
460
+ let _: ( ~ Copyable) !
454
461
// expected-error@+1 {{use of protocol 'HasAssoc' as a type must be written 'any HasAssoc'}}{{10-23=(any HasAssoc.Type)}}
455
462
let _: HasAssoc . Type ?
456
463
// expected-error@+1 {{constraint that suppresses conformance requires 'any'}}{{10-26=(any (~Copyable).Type)}}
You can’t perform that action at this time.
0 commit comments