swiftlang/swift

[SR-8811] Diagnosing Implicit Accessors for Uninhabited Types Should Be Smarter

オープン

#51,319 opened on 2018/09/20

 (3 件のコメント) (0 件のリアクション) (0 人の担当者)Swift (10,719 件のフォーク)batch import
SILcompilerdiagnostics qualitygood first issueimprovement

Repository metrics

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

説明

Previous ID SR-8811
Radar None
Original Reporter @CodaFi
Type Improvement
Status Reopened
Resolution
Votes 0
Component/s Compiler
Labels Improvement, SILDiagnostics, StarterBug
Assignee None
Priority Medium

md5: fe8546f9296464e8c547c7c953e07a35

Issue Description:

Try to emit SIL for the following code

enum Empty {}

class Foo {
  var x: Empty // function with uninhabited return type 'Empty' is missing call to another never-returning function on all paths

  init(_ x: Empty) {
    self.x = x
  }
}

It's good that we error, it's dismaying that we're diagnosing an implicit declaration. In particular, we're diagnosing the getter. We should check for accessors and emit something specialized here.

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