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 @@ -6042,6 +6042,7 @@ class ExistentialTypeSyntaxChecker : public ASTWalker {
6042
6042
static bool anySyntaxNeedsParens (TypeRepr *parent) {
6043
6043
switch (parent->getKind ()) {
6044
6044
case TypeReprKind::Optional:
6045
+ case TypeReprKind::ImplicitlyUnwrappedOptional:
6045
6046
case TypeReprKind::Protocol:
6046
6047
return true ;
6047
6048
case TypeReprKind::Metatype:
@@ -6056,7 +6057,6 @@ class ExistentialTypeSyntaxChecker : public ASTWalker {
6056
6057
case TypeReprKind::UnqualifiedIdent:
6057
6058
case TypeReprKind::QualifiedIdent:
6058
6059
case TypeReprKind::Dictionary:
6059
- case TypeReprKind::ImplicitlyUnwrappedOptional:
6060
6060
case TypeReprKind::Inverse:
6061
6061
case TypeReprKind::Tuple:
6062
6062
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