swiftlang/swift

[SR-8536] Warn on member assignments capturing self

Aperta

#51.055 aperta il 14 ago 2018

 (2 commenti) (0 reazioni) (0 assegnatari)Swift (10.719 fork)batch import
compilergood first issueimprovementtype checker

Metriche repository

Star
 (69.989 stelle)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

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.

Guida contributor