Skip to content

Commit 4290cea

Browse files
committed
TypeCheckType: Fix missing any fix-it for IUO
1 parent 33d09aa commit 4290cea

File tree

3 files changed

+5
-1
lines changed

3 files changed

+5
-1
lines changed

lib/Sema/TypeCheckType.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6010,6 +6010,7 @@ class ExistentialTypeSyntaxChecker : public ASTWalker {
60106010
bool existentialNeedsParens(TypeRepr *parent) const {
60116011
switch (parent->getKind()) {
60126012
case TypeReprKind::Optional:
6013+
case TypeReprKind::ImplicitlyUnwrappedOptional:
60136014
case TypeReprKind::Protocol:
60146015
return true;
60156016
case TypeReprKind::Metatype:
@@ -6025,7 +6026,6 @@ class ExistentialTypeSyntaxChecker : public ASTWalker {
60256026
case TypeReprKind::GenericIdent:
60266027
case TypeReprKind::Member:
60276028
case TypeReprKind::Dictionary:
6028-
case TypeReprKind::ImplicitlyUnwrappedOptional:
60296029
case TypeReprKind::Inverse:
60306030
case TypeReprKind::Tuple:
60316031
case TypeReprKind::Fixed:

test/type/explicit_existential.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -321,6 +321,8 @@ func testAnyFixIt() {
321321
let _: (HasAssoc).Protocol = (any HasAssoc).self
322322
// expected-error@+1 {{use of protocol 'HasAssoc' as a type must be written 'any HasAssoc'}}{{10-18=(any HasAssoc)}}
323323
let _: HasAssoc? = ConformingType()
324+
// expected-error@+1 {{use of protocol 'HasAssoc' as a type must be written 'any HasAssoc'}}{{10-18=(any HasAssoc)}}
325+
let _: HasAssoc!
324326
// expected-error@+1 {{use of protocol 'HasAssoc' as a type must be written 'any HasAssoc'}}{{10-23=(any HasAssoc.Type)}}
325327
let _: HasAssoc.Type? = ConformingType.self
326328
// expected-error@+1 {{use of protocol 'HasAssoc' as a type must be written 'any HasAssoc'}}{{10-18=(any HasAssoc)}}

test/type/explicit_existential_swift6.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -354,6 +354,8 @@ func testAnyFixIt() {
354354
let _: (HasAssoc).Protocol = (any HasAssoc).self
355355
// expected-error@+1 {{use of protocol 'HasAssoc' as a type must be written 'any HasAssoc'}}{{10-18=(any HasAssoc)}}
356356
let _: HasAssoc? = ConformingType()
357+
// expected-error@+1 {{use of protocol 'HasAssoc' as a type must be written 'any HasAssoc'}}{{10-18=(any HasAssoc)}}
358+
let _: HasAssoc!
357359
// expected-error@+1 {{use of protocol 'HasAssoc' as a type must be written 'any HasAssoc'}}{{10-23=(any HasAssoc.Type)}}
358360
let _: HasAssoc.Type? = ConformingType.self
359361
// expected-error@+1 {{use of protocol 'HasAssoc' as a type must be written 'any HasAssoc'}}{{10-18=(any HasAssoc)}}

0 commit comments

Comments
 (0)