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 @@ -6037,6 +6037,7 @@ class ExistentialTypeSyntaxChecker : public ASTWalker {
6037
6037
static bool anySyntaxNeedsParens (TypeRepr *parent) {
6038
6038
switch (parent->getKind ()) {
6039
6039
case TypeReprKind::Optional:
6040
+ case TypeReprKind::ImplicitlyUnwrappedOptional:
6040
6041
case TypeReprKind::Protocol:
6041
6042
return true ;
6042
6043
case TypeReprKind::Metatype:
@@ -6051,7 +6052,6 @@ class ExistentialTypeSyntaxChecker : public ASTWalker {
6051
6052
case TypeReprKind::UnqualifiedIdent:
6052
6053
case TypeReprKind::QualifiedIdent:
6053
6054
case TypeReprKind::Dictionary:
6054
- case TypeReprKind::ImplicitlyUnwrappedOptional:
6055
6055
case TypeReprKind::Inverse:
6056
6056
case TypeReprKind::Tuple:
6057
6057
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