swiftlang/swift

Bad diagnostic for `any P!`

Open

#72,662 opened on Mar 28, 2024

View on GitHub
 (6 comments) (0 reactions) (2 assignees)Swift (69,989 stars) (10,719 forks)batch import
TypeResolverbugcompilerdiagnostics qualityexistentialsgood first issueimplicitly unwrapped optionalsswift 6.0type checkertypesunexpected behavior

Description

Description

No response

Reproduction

protocol P {}

// error: using '!' is not allowed here; perhaps '?' was intended? [implicitly_unwrapped_optional_in_illegal_position]
// error: optional 'any' type must be written '(any P2)?' [incorrect_optional_any]
let _: any P!

Expected behavior

A single error, optional 'any' type must be written '(any P)!', as in the case of let _: any P?.

Environment

Swift version 6.0-dev (LLVM 48dc0c6fa01ce9e, Swift 19fbe5b33d423d1) Target: x86_64-apple-macosx14.0

Additional information

This https://github.com/apple/swift/labels/good%20first%20issue will suit an experienced Swift user.

Contributor guide