Skip to content

Commit ee28a9f

Browse files
committed
TypeCheckType: Fix missing any fix-it for IUO
1 parent 3264433 commit ee28a9f

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
@@ -5997,6 +5997,7 @@ class ExistentialTypeSyntaxChecker : public ASTWalker {
59975997
bool existentialNeedsParens(TypeRepr *parent) const {
59985998
switch (parent->getKind()) {
59995999
case TypeReprKind::Optional:
6000+
case TypeReprKind::ImplicitlyUnwrappedOptional:
60006001
case TypeReprKind::Protocol:
60016002
return true;
60026003
case TypeReprKind::Metatype:
@@ -6011,7 +6012,6 @@ class ExistentialTypeSyntaxChecker : public ASTWalker {
60116012
case TypeReprKind::UnqualifiedIdent:
60126013
case TypeReprKind::QualifiedIdent:
60136014
case TypeReprKind::Dictionary:
6014-
case TypeReprKind::ImplicitlyUnwrappedOptional:
60156015
case TypeReprKind::Inverse:
60166016
case TypeReprKind::Tuple:
60176017
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)