swiftlang/swift

[SR-8536] Warn on member assignments capturing self

Offen

#51.055 geöffnet am 14.08.2018

 (2 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)Swift (10.719 Forks)batch import
compilergood first issueimprovementtype checker

Repository-Metriken

Stars
 (69.989 Sterne)
PR-Merge-Metriken
 (PR-Metriken ausstehend)

Beschreibung

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.

Contributor Guide