realm/SwiftLint

`unowned_variable_capture` fires for `unowned(unsafe)` captures

Open

#6,817 opened on 2026年7月10日

GitHub で見る
 (3 comments) (0 reactions) (0 assignees)Swift (2,295 forks)batch import
enhancementgood first issue

Repository metrics

Stars
 (19,570 stars)
PR merge metrics
 (平均マージ 16d 3h) (30d で 37 merged PRs)

説明

the unowned_variable_capture rule currently fires not only for unowned captures, but also for unowned(unsafe) captures.

IMO this is excessive, as the unsafe addition already makes clear the programmer's intent to trade safety for performance here, and guarantee that the captured value's lifetime will exceed that of the closure.

suggestion: unowned_variable_capture should fire only for unowned captures, but not for unowned(unsafe) ones.

looking at the rule's documentation, it seems like this should be the behaviour anyway, as the "triggering examples" section lists only unowned captures but no unowned(unsafe) ones.

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