realm/SwiftLint

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

Open

#6817 aperta il 10 lug 2026

Vedi su GitHub
 (3 commenti) (0 reazioni) (0 assegnatari)Swift (2295 fork)batch import
enhancementgood first issue

Metriche repository

Star
 (19.570 star)
Metriche merge PR
 (Merge medio 16g 3h) (37 PR mergiate in 30 g)

Descrizione

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.

Guida contributor