swiftlang/swift

[SR-8536] Warn on member assignments capturing self

開放

#51,055 建立於 2018年8月14日

 (2 則留言) (0 個反應) (0 位負責人)Swift (10,719 個分叉)batch import
compilergood first issueimprovementtype checker

倉庫指標

星標
 (69,989 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

Previous ID SR-8536
Radar None
Original Reporter @CodaFi
Type Improvement
Votes 2
Component/s Compiler
Labels Improvement, StarterBug, TypeChecker
Assignee tt (JIRA)
Priority Medium

md5: cb331d15432b248f57b7b7bce4d077f7

Issue Description:

class Foo {
  let bar: () -> ()

  func baz() {}

  init() {
    self.bar = baz // We oughta warn about capturing 'self' implicitly.
  }
}

In the example above, we should warn about capturing `self` implicitly and, rather than suggest the user make it explicit, probably offer a fixit that provides a closure with a weak or unowned capture.

貢獻者指南