SwiftLint icon indicating copy to clipboard operation
SwiftLint copied to clipboard

Allow `prefer_key_paths` to ignore identity closures (`{ $0 }`)

Open p4checo opened this issue 8 months ago • 1 comments

Add new ignore_identity_closures parameter to prefer_key_paths rule to skip conversion of identity closures ({ $0 }) to identity key paths (\self).

Add a small note to the rule description stating that identity key path conversion is Swift 6+ only.

p4checo avatar Apr 26 '25 23:04 p4checo

18 Messages
:book: Building this branch resulted in a binary size of 25521.05 KiB vs 25519.87 KiB when built on main (0% larger).
:book: Linting Aerial with this PR took 1.05 s vs 1.06 s on main (0% faster).
:book: Linting Alamofire with this PR took 1.41 s vs 1.41 s on main (0% slower).
:book: Linting Brave with this PR took 9.52 s vs 9.54 s on main (0% faster).
:book: Linting DuckDuckGo with this PR took 26.85 s vs 26.92 s on main (0% faster).
:book: Linting Firefox with this PR took 14.11 s vs 14.13 s on main (0% faster).
:book: Linting Kickstarter with this PR took 10.78 s vs 10.79 s on main (0% faster).
:book: Linting Moya with this PR took 0.56 s vs 0.56 s on main (0% slower).
:book: Linting NetNewsWire with this PR took 3.21 s vs 3.21 s on main (0% slower).
:book: Linting Nimble with this PR took 0.85 s vs 0.85 s on main (0% slower).
:book: Linting PocketCasts with this PR took 9.43 s vs 9.3 s on main (1% slower).
:book: Linting Quick with this PR took 0.49 s vs 0.5 s on main (2% faster).
:book: Linting Realm with this PR took 4.85 s vs 4.84 s on main (0% slower).
:book: Linting Sourcery with this PR took 2.48 s vs 2.48 s on main (0% slower).
:book: Linting Swift with this PR took 5.67 s vs 5.69 s on main (0% faster).
:book: Linting VLC with this PR took 1.5 s vs 1.51 s on main (0% faster).
:book: Linting Wire with this PR took 22.8 s vs 22.83 s on main (0% faster).
:book: Linting WordPress with this PR took 13.77 s vs 13.82 s on main (0% faster).

Generated by :no_entry_sign: Danger

SwiftLintBot avatar Apr 27 '25 00:04 SwiftLintBot

Ready for re-review @SimplyDanny

Not sure what is causing the buildkite/swiftlint/bazel and buildkite/swiftlint/registration CI steps to fail, as I ran both command sequences locally and they succeed. They seem to be linker issues caused by some TSan symbols, so perhaps caused by some caching issue?

Thanks 🙏🏼

p4checo avatar Aug 06 '25 13:08 p4checo