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 {
60376037 static bool anySyntaxNeedsParens (TypeRepr *parent) {
60386038 switch (parent->getKind ()) {
60396039 case TypeReprKind::Optional:
6040+ case TypeReprKind::ImplicitlyUnwrappedOptional:
60406041 case TypeReprKind::Protocol:
60416042 return true ;
60426043 case TypeReprKind::Metatype:
@@ -6051,7 +6052,6 @@ class ExistentialTypeSyntaxChecker : public ASTWalker {
60516052 case TypeReprKind::UnqualifiedIdent:
60526053 case TypeReprKind::QualifiedIdent:
60536054 case TypeReprKind::Dictionary:
6054- case TypeReprKind::ImplicitlyUnwrappedOptional:
60556055 case TypeReprKind::Inverse:
60566056 case TypeReprKind::Tuple:
60576057 case TypeReprKind::Fixed:
Original file line number Diff line number Diff line change @@ -419,6 +419,13 @@ func testAnyFixIt() {
419419 let _: ( HasAssoc ) ?
420420 // expected-error@+1 {{constraint that suppresses conformance requires 'any'}}{{11-20=any ~Copyable}}
421421 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) !
422429 // expected-error@+1 {{use of protocol 'HasAssoc' as a type must be written 'any HasAssoc'}}{{10-23=(any HasAssoc.Type)}}
423430 let _: HasAssoc . Type ?
424431 // 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() {
451451 let _: ( HasAssoc ) ?
452452 // expected-error@+1 {{constraint that suppresses conformance requires 'any'}}{{11-20=any ~Copyable}}
453453 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) !
454461 // expected-error@+1 {{use of protocol 'HasAssoc' as a type must be written 'any HasAssoc'}}{{10-23=(any HasAssoc.Type)}}
455462 let _: HasAssoc . Type ?
456463 // 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