swiftlang/swift

Missing fix-it when opaque property type is inferred

オープン

#69,241 opened on 2023/10/18

 (6 件のコメント) (0 件のリアクション) (1 人の担当者)Swift (10,719 件のフォーク)batch import
compilerdiagnostics qualityfix-itsgood first issueimprovementopaque result typesopaque typesswift 6.0type checker

Repository metrics

Stars
 (69,989 個のスター)
PR merge metrics
 (PR metrics pending)

説明

Description When the type of a variable or property is inferred as an opaque type, the compiler emits an error to that effect:

Property definition has inferred type 'some Proto', involving the 'some' return type of another declaration

Steps to reproduce When compiling this code, the last line has the above error attached.:

protocol Proto {}
struct Concrete: Proto {}
func getProto() -> some Proto { Concrete() }

let value = getProto() // error

Expected behavior Since the fix is straightforward and included in the error message, the compiler should offer a fixit that would rectify the problem:

let value: some Proto = getProto()

Environment

  • Swift compiler version info Apple Swift version 5.9 (swiftlang-5.9.0.128.108 clang-1500.0.40.1) Target: arm64-apple-macosx14.0

コントリビューターガイド