swiftlang/swift

[SR-8536] Warn on member assignments capturing self

Aberta

#51.055 aberto em 14 de ago. de 2018

 (2 comentários) (0 reação) (0 responsável)Swift (10.719 forks)batch import
compilergood first issueimprovementtype checker

Métricas do repositório

Stars
 (69.989 estrelas)
Métricas de merge de PR
 (Métricas PR pendentes)

Description

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.

Guia do colaborador