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 @@ -5995,6 +5995,7 @@ class ExistentialTypeSyntaxChecker : public ASTWalker {
5995
5995
static bool anySyntaxNeedsParens (TypeRepr *parent) {
5996
5996
switch (parent->getKind ()) {
5997
5997
case TypeReprKind::Optional:
5998
+ case TypeReprKind::ImplicitlyUnwrappedOptional:
5998
5999
case TypeReprKind::Protocol:
5999
6000
return true ;
6000
6001
case TypeReprKind::Metatype:
@@ -6009,7 +6010,6 @@ class ExistentialTypeSyntaxChecker : public ASTWalker {
6009
6010
case TypeReprKind::UnqualifiedIdent:
6010
6011
case TypeReprKind::QualifiedIdent:
6011
6012
case TypeReprKind::Dictionary:
6012
- case TypeReprKind::ImplicitlyUnwrappedOptional:
6013
6013
case TypeReprKind::Inverse:
6014
6014
case TypeReprKind::Tuple:
6015
6015
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