Skip to content

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

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

p4checo
Copy link

@p4checo p4checo commented Apr 26, 2025

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.

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.
@SwiftLintBot
Copy link

SwiftLintBot commented Apr 27, 2025

2213 Warnings
⚠️ This PR introduced a violation in Aerial: /Aerial/Source/Models/Cache/PoiStringProvider.swift:252:67: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Aerial: /Aerial/Source/Models/Cache/PoiStringProvider.swift:256:67: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Aerial: /Aerial/Source/Models/Cache/Cache.swift:700:58: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Aerial: /Aerial/Source/Models/Sources/SourceList.swift:385:64: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Aerial: /Aerial/Source/Models/Sources/VideoList.swift:81:78: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Aerial: /Aerial/Source/Models/Sources/VideoList.swift:87:78: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Aerial: /Aerial/Source/Models/Sources/VideoList.swift:210:25: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Aerial: /Aerial/Source/Models/Sources/VideoList.swift:440:46: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Alamofire: /Source/Core/ParameterEncoder.swift:178:85: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Alamofire: /watchOS Example/watchOS Example WatchKit Extension/Networking.swift:36:25: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/App/ShareExtension/ShareToBraveViewController.swift:78:19: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/App/ShareExtension/ShareToBraveViewController.swift:79:16: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/App/ShareExtension/ShareToBraveViewController.swift:84:47: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/App/ShareExtension/ShareToBraveViewController.swift:85:37: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/App/l10n/tools/download-translations-from-transifex.swift:73:48: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/BraveNewsTests/CardGeneratorTests.swift:135:47: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/BraveNewsTests/CardGeneratorTests.swift:161:47: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/BraveNewsTests/CardGeneratorTests.swift:229:47: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/BraveNewsTests/CardGeneratorTests.swift:258:47: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/ClientTests/DomainUserScriptTests.swift:20:18: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/ClientTests/DomainUserScriptTests.swift:32:18: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/ClientTests/DomainUserScriptTests.swift:44:18: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/ClientTests/DomainUserScriptTests.swift:58:18: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/ClientTests/SearchEnginesTests.swift:59:60: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/ClientTests/InitialSearchEnginesTests.swift:22:47: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/ClientTests/InitialSearchEnginesTests.swift:85:49: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/ClientTests/InitialSearchEnginesTests.swift:99:60: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/ClientTests/InitialSearchEnginesTests.swift:118:49: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/ClientTests/InitialSearchEnginesTests.swift:133:60: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/ClientTests/InitialSearchEnginesTests.swift:152:49: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/ClientTests/InitialSearchEnginesTests.swift:166:60: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/ClientTests/InitialSearchEnginesTests.swift:186:49: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/ClientTests/InitialSearchEnginesTests.swift:200:60: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/ClientTests/InitialSearchEnginesTests.swift:220:49: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/ClientTests/InitialSearchEnginesTests.swift:234:60: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/ClientTests/InitialSearchEnginesTests.swift:254:56: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/ClientTests/InitialSearchEnginesTests.swift:267:67: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/ClientTests/InitialSearchEnginesTests.swift:286:54: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/ClientTests/InitialSearchEnginesTests.swift:300:65: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/ClientTests/AdBlockEngineManagerTests.swift:49:33: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/ClientTests/AdBlockEngineManagerTests.swift:89:48: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/ClientTests/AdBlockEngineManagerTests.swift:109:53: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/ClientTests/SolanaProviderScriptHandlerTests.swift:276:43: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/ClientTests/SolanaProviderScriptHandlerTests.swift:321:43: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Tests/BraveWalletTests/NetworkSelectionStoreTests.swift:236:53: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveNews/Cards/RateCardViews.swift:154:20: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveNews/Composer/FeedDataSource.swift:78:61: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveNews/Composer/FeedDataSource.swift:82:32: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveNews/Composer/FeedDataSource.swift:88:61: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveNews/Composer/FeedDataSource.swift:635:73: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveNews/Composer/FeedDataSource.swift:917:59: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveNews/Composer/FeedDataSource.swift:968:55: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Playlist/PlaylistManager.swift:300:21: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Playlist/PlaylistManager.swift:969:67: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Settings/CustomNetworkDetailsView.swift:159:31: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Settings/CustomNetworkDetailsView.swift:187:32: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Settings/CustomNetworkDetailsView.swift:215:33: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Crypto/FiltersDisplaySettingsView.swift:332:48: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Crypto/FiltersDisplaySettingsView.swift:366:46: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Crypto/Stores/PortfolioStore.swift:596:14: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Crypto/Stores/SwapTokenStore.swift:1135:23: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Crypto/Stores/TransactionsActivityStore.swift:157:64: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Crypto/Stores/AssetDetailStore.swift:261:19: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Crypto/Stores/AssetDetailStore.swift:392:52: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Crypto/Stores/TransactionConfirmationStore.swift:294:17: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Crypto/Stores/TransactionConfirmationStore.swift:330:17: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Crypto/Stores/TransactionConfirmationStore.swift:383:15: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Crypto/Transactions/TransactionsListView.swift:210:24: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Crypto/Stores/SendTokenStore.swift:355:17: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Crypto/Transactions/TransactionParser.swift:1305:62: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Crypto/WalletActions/DepositTokenView.swift:386:12: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Crypto/Onboarding/RestoreWalletView.swift:64:5: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/WalletUserAssetManager.swift:182:12: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/WalletUserAssetManager.swift:183:76: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/WalletUserAssetManager.swift:211:35: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/WalletUserAssetManager.swift:215:12: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/WalletUserAssetManager.swift:220:12: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/WalletUserAssetManager.swift:266:35: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/WalletUserAssetManager.swift:269:12: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/WalletUserAssetManager.swift:479:50: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/WalletUserAssetManager.swift:655:68: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/WalletUserAssetManager.swift:718:12: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/WalletUserAssetManager.swift:721:15: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/WalletUserAssetManager.swift:779:33: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Chart/LineChartView.swift:44:33: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Chart/LineChartView.swift:263:35: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Panels/Sign Transaction/SignTransactionView.swift:55:12: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Preview Content/MockBraveWalletService.swift:35:43: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Extensions/BlockchainRegistryExtensions.swift:54:22: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Extensions/RpcServiceExtensions.swift:490:18: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Blockies/Blockies.swift:86:27: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveStore/Subscription/SDK/BraveStoreSDK.swift:222:83: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveStore/Subscription/SDK/BraveStoreSDK.swift:398:65: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveStore/Subscription/SDK/BraveStoreSDK.swift:399:66: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/BraveStore/Subscription/SDK/AppStoreSDK.swift:537:78: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Settings/Features/ShieldsPrivacy/ClearDataSectionView.swift:62:88: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Settings/General/SearchEngines/SearchSettingsViewController.swift:87:41: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Settings/Debug/Brave Search/BraveSearchDebugMenuDetail.swift:35:90: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Settings/Debug/Rewards Internals/QA/RewardsDebugSettingsViewController.swift:39:48: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Settings/Debug/Brave Search/BraveSearchDebugMenu.swift:81:22: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Settings/Debug/BraveCoreDebugSwitchesView.swift:373:62: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Settings/Debug/BraveCoreDebugSwitchesView.swift:434:62: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/UserContent/UserScripts/Scripts_Dynamic/ScriptHandlers/Paged/SolanaProviderScriptHandler.swift:365:68: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/UserContent/UserScripts/Scripts_Dynamic/ScriptHandlers/Sandboxed/SiteStateListenerScriptHandler.swift:137:41: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Preview Content/BraveSearchDebugMenuFixture.swift:42:17: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Shields/ShieldsSwitch.swift:210:39: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Shields/ShieldsSwitch.swift:214:39: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Brave Translate/BraveTranslateSession.swift:137:11: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/Tabs/TabTray/TabTrayController+TableViewDelegate.swift:208:42: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/FrequencyQuery.swift:108:38: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/Playlist/Controllers/PlaylistFolderController.swift:259:18: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/Playlist/Managers & Cache/PlaylistCoordinator.swift:106:15: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/Playlist/Controllers/PlaylistLegacyCarplayController.swift:125:58: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/Playlist/Controllers/PlaylistLegacyCarplayController.swift:385:63: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/Playlist/Controllers/PlaylistListViewController.swift:510:47: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/BrowserViewController/BVC+Widgets.swift:69:61: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/BrowserViewController/BVC+Playlist.swift:85:21: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/BrowserViewController/BVC+ToolbarDelegate.swift:467:19: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/BrowserViewController/BVC+ToolbarDelegate.swift:1121:54: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/BrowserViewController/BrowserViewController.swift:567:50: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/BrowserViewController/BrowserViewController.swift:1270:41: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/Search/SearchEngines.swift:240:73: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/Search/SearchEngines.swift:468:18: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/BackForwardListViewController.swift:110:71: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/Toolbars/BottomToolbar/Menu/Bookmarks/AddEditBookmarkTableViewController.swift:510:80: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/Toolbars/BottomToolbar/Menu/Bookmarks/BookmarksViewController.swift:191:92: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/Toolbars/UrlBar/TopToolbarView.swift:219:16: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/Helpers/TabBrowserData.swift:419:48: Warning: Use a key path argument instead of a closure with property access
⚠️ This PR introduced a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/Helpers/TabBrowserData.swift:419:66: Warning: Use a key path argument instead of a closure with property access
⚠️ Danger found 2213 violations with this PR. Due to GitHub's max issue comment size, the number shown has been truncated to 129.
2231 Messages
📖 Building this branch resulted in a binary size of 25053.59 KiB vs 25052.41 KiB when built on main (0% larger).
📖 Linting Aerial with this PR took 1.04 s vs 1.02 s on main (1% slower).
📖 Linting Alamofire with this PR took 1.37 s vs 1.37 s on main (0% slower).
📖 Linting Brave with this PR took 9.39 s vs 9.4 s on main (0% faster).
📖 Linting DuckDuckGo with this PR took 22.99 s vs 23.06 s on main (0% faster).
📖 Linting Firefox with this PR took 11.09 s vs 11.13 s on main (0% faster).
📖 Linting Kickstarter with this PR took 10.63 s vs 10.67 s on main (0% faster).
📖 Linting Moya with this PR took 0.54 s vs 0.55 s on main (1% faster).
📖 Linting NetNewsWire with this PR took 3.1 s vs 3.11 s on main (0% faster).
📖 Linting Nimble with this PR took 0.82 s vs 0.82 s on main (0% slower).
📖 Linting PocketCasts with this PR took 8.79 s vs 8.86 s on main (0% faster).
📖 Linting Quick with this PR took 0.47 s vs 0.47 s on main (0% slower).
📖 Linting Realm with this PR took 4.74 s vs 4.77 s on main (0% faster).
📖 Linting Sourcery with this PR took 2.42 s vs 2.42 s on main (0% slower).
📖 Linting Swift with this PR took 5.54 s vs 5.54 s on main (0% slower).
📖 Linting VLC with this PR took 1.43 s vs 1.44 s on main (0% faster).
📖 Linting Wire with this PR took 20.89 s vs 20.94 s on main (0% faster).
📖 Linting WordPress with this PR took 12.4 s vs 12.43 s on main (0% faster).
📖 This PR fixed a violation in Aerial: /Aerial/Source/Models/Cache/PoiStringProvider.swift:252:67: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Aerial: /Aerial/Source/Models/Cache/PoiStringProvider.swift:256:67: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Aerial: /Aerial/Source/Models/Cache/Cache.swift:700:58: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Aerial: /Aerial/Source/Models/Sources/SourceList.swift:385:64: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Aerial: /Aerial/Source/Models/Sources/VideoList.swift:81:78: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Aerial: /Aerial/Source/Models/Sources/VideoList.swift:87:78: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Aerial: /Aerial/Source/Models/Sources/VideoList.swift:210:25: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Aerial: /Aerial/Source/Models/Sources/VideoList.swift:440:46: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Alamofire: /Source/Core/ParameterEncoder.swift:178:85: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Alamofire: /watchOS Example/watchOS Example WatchKit Extension/Networking.swift:36:25: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/App/ShareExtension/ShareToBraveViewController.swift:78:19: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/App/ShareExtension/ShareToBraveViewController.swift:79:16: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/App/ShareExtension/ShareToBraveViewController.swift:84:47: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/App/ShareExtension/ShareToBraveViewController.swift:85:37: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/App/l10n/tools/download-translations-from-transifex.swift:73:48: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Tests/BraveNewsTests/CardGeneratorTests.swift:135:47: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Tests/BraveNewsTests/CardGeneratorTests.swift:161:47: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Tests/BraveNewsTests/CardGeneratorTests.swift:229:47: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Tests/BraveNewsTests/CardGeneratorTests.swift:258:47: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Tests/ClientTests/DomainUserScriptTests.swift:20:18: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Tests/ClientTests/DomainUserScriptTests.swift:32:18: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Tests/ClientTests/DomainUserScriptTests.swift:44:18: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Tests/ClientTests/DomainUserScriptTests.swift:58:18: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Tests/ClientTests/SearchEnginesTests.swift:59:60: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Tests/ClientTests/InitialSearchEnginesTests.swift:22:47: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Tests/ClientTests/InitialSearchEnginesTests.swift:85:49: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Tests/ClientTests/InitialSearchEnginesTests.swift:99:60: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Tests/ClientTests/InitialSearchEnginesTests.swift:118:49: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Tests/ClientTests/InitialSearchEnginesTests.swift:133:60: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Tests/ClientTests/InitialSearchEnginesTests.swift:152:49: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Tests/ClientTests/InitialSearchEnginesTests.swift:166:60: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Tests/ClientTests/InitialSearchEnginesTests.swift:186:49: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Tests/ClientTests/InitialSearchEnginesTests.swift:200:60: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Tests/ClientTests/InitialSearchEnginesTests.swift:220:49: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Tests/ClientTests/InitialSearchEnginesTests.swift:234:60: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Tests/ClientTests/InitialSearchEnginesTests.swift:254:56: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Tests/ClientTests/InitialSearchEnginesTests.swift:267:67: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Tests/ClientTests/InitialSearchEnginesTests.swift:286:54: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Tests/ClientTests/InitialSearchEnginesTests.swift:300:65: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Tests/ClientTests/AdBlockEngineManagerTests.swift:49:33: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Tests/ClientTests/AdBlockEngineManagerTests.swift:89:48: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Tests/ClientTests/AdBlockEngineManagerTests.swift:109:53: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Tests/ClientTests/SolanaProviderScriptHandlerTests.swift:276:43: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Tests/ClientTests/SolanaProviderScriptHandlerTests.swift:321:43: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Tests/BraveWalletTests/NetworkSelectionStoreTests.swift:236:53: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveNews/Cards/RateCardViews.swift:154:20: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveNews/Composer/FeedDataSource.swift:78:61: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveNews/Composer/FeedDataSource.swift:82:32: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveNews/Composer/FeedDataSource.swift:88:61: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveNews/Composer/FeedDataSource.swift:635:73: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveNews/Composer/FeedDataSource.swift:917:59: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveNews/Composer/FeedDataSource.swift:968:55: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/Playlist/PlaylistManager.swift:300:21: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/Playlist/PlaylistManager.swift:969:67: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Settings/CustomNetworkDetailsView.swift:159:31: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Settings/CustomNetworkDetailsView.swift:187:32: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Settings/CustomNetworkDetailsView.swift:215:33: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Crypto/FiltersDisplaySettingsView.swift:332:48: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Crypto/FiltersDisplaySettingsView.swift:366:46: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Crypto/Stores/TransactionsActivityStore.swift:157:64: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Crypto/Stores/PortfolioStore.swift:596:14: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Crypto/Stores/SwapTokenStore.swift:1135:23: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Crypto/Stores/AssetDetailStore.swift:261:19: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Crypto/Stores/AssetDetailStore.swift:392:52: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Crypto/Stores/TransactionConfirmationStore.swift:294:17: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Crypto/Stores/TransactionConfirmationStore.swift:330:17: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Crypto/Stores/TransactionConfirmationStore.swift:383:15: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Crypto/Transactions/TransactionsListView.swift:210:24: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Crypto/Stores/SendTokenStore.swift:355:17: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Crypto/Transactions/TransactionParser.swift:1305:62: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Crypto/WalletActions/DepositTokenView.swift:386:12: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Crypto/Onboarding/RestoreWalletView.swift:64:5: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Chart/LineChartView.swift:44:33: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Chart/LineChartView.swift:263:35: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Panels/Sign Transaction/SignTransactionView.swift:55:12: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/WalletUserAssetManager.swift:182:12: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/WalletUserAssetManager.swift:183:76: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/WalletUserAssetManager.swift:211:35: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/WalletUserAssetManager.swift:215:12: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/WalletUserAssetManager.swift:220:12: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/WalletUserAssetManager.swift:266:35: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/WalletUserAssetManager.swift:269:12: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/WalletUserAssetManager.swift:479:50: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/WalletUserAssetManager.swift:655:68: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/WalletUserAssetManager.swift:718:12: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/WalletUserAssetManager.swift:721:15: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/WalletUserAssetManager.swift:779:33: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Preview Content/MockBraveWalletService.swift:35:43: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Extensions/BlockchainRegistryExtensions.swift:54:22: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Extensions/RpcServiceExtensions.swift:490:18: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveWallet/Blockies/Blockies.swift:86:27: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveStore/Subscription/SDK/BraveStoreSDK.swift:222:83: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveStore/Subscription/SDK/BraveStoreSDK.swift:398:65: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveStore/Subscription/SDK/BraveStoreSDK.swift:399:66: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/BraveStore/Subscription/SDK/AppStoreSDK.swift:537:78: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Settings/Features/ShieldsPrivacy/ClearDataSectionView.swift:62:88: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Settings/General/SearchEngines/SearchSettingsViewController.swift:87:41: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Settings/Debug/Brave Search/BraveSearchDebugMenu.swift:81:22: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Settings/Debug/Brave Search/BraveSearchDebugMenuDetail.swift:35:90: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Settings/Debug/Rewards Internals/QA/RewardsDebugSettingsViewController.swift:39:48: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Settings/Debug/BraveCoreDebugSwitchesView.swift:373:62: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Settings/Debug/BraveCoreDebugSwitchesView.swift:434:62: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/UserContent/UserScripts/Scripts_Dynamic/ScriptHandlers/Paged/SolanaProviderScriptHandler.swift:365:68: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/UserContent/UserScripts/Scripts_Dynamic/ScriptHandlers/Sandboxed/SiteStateListenerScriptHandler.swift:137:41: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Preview Content/BraveSearchDebugMenuFixture.swift:42:17: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Shields/ShieldsSwitch.swift:210:39: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Shields/ShieldsSwitch.swift:214:39: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Brave Translate/BraveTranslateSession.swift:137:11: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/Tabs/TabTray/TabTrayController+TableViewDelegate.swift:208:42: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/FrequencyQuery.swift:108:38: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/Playlist/Controllers/PlaylistFolderController.swift:259:18: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/Playlist/Managers & Cache/PlaylistCoordinator.swift:106:15: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/Playlist/Controllers/PlaylistLegacyCarplayController.swift:125:58: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/Playlist/Controllers/PlaylistLegacyCarplayController.swift:385:63: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/Playlist/Controllers/PlaylistListViewController.swift:510:47: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/BrowserViewController/BVC+Widgets.swift:69:61: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/BrowserViewController/BVC+Playlist.swift:85:21: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/BrowserViewController/BVC+ToolbarDelegate.swift:467:19: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/BrowserViewController/BVC+ToolbarDelegate.swift:1121:54: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/BrowserViewController/BrowserViewController.swift:567:50: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
📖 This PR fixed a violation in Brave: /ios/brave-ios/Sources/Brave/Frontend/Browser/BrowserViewController/BrowserViewController.swift:1270:41: Warning: Use a key path argument instead of a closure with property access (prefer_key_path)
⚠️ Danger found 2231 violations with this PR. Due to GitHub's max issue comment size, the number shown has been truncated to 139.

Generated by 🚫 Danger

Copy link
Collaborator

@SimplyDanny SimplyDanny left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good in general. Thanks!

Please see my comments and rebase your branch to make all tests run (there are relevant fixes on main).

* None.
* 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.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's have the note here as well instead of a reference to the note:

Suggested change
Add a small note to the rule description stating that identity key path conversion is Swift 6+ only.
Note that identity key paths are only support from Swift 6 on, hence this option
will be implicitly ignored/set to `true` when SwiftLint detects a Swift <6 compiler
to avoid causing compilation errors.

* 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](https://github.com/p4checo)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please reference the issue here as well.

Comment on lines +10 to +13
private static let extendedModeAndIgnoreIdentity = [
"restrict_to_standard_functions": false,
"ignore_identity_closures": true,
]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should work, shouldn't it?

Suggested change
private static let extendedModeAndIgnoreIdentity = [
"restrict_to_standard_functions": false,
"ignore_identity_closures": true,
]
private static let extendedModeAndIgnoreIdentity = extendedMode + ignoreIdentity


static let description = RuleDescription(
identifier: "prefer_key_path",
name: "Prefer Key Path",
description: "Use a key path argument instead of a closure with property access",
description: """
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's keep the existing description as it's currently also used as the violation message and add a rational property instead to explain this detail.

@@ -12,6 +17,8 @@ final class PreferKeyPathRuleTests: SwiftLintTestCase {
.with(nonTriggeringExamples: [
Example("f.filter { a in b }"),
Example("f.g { $1 }", configuration: Self.extendedMode),
Example("f { $0 }", configuration: Self.extendedModeAndIgnoreIdentity),
Example("f.map { $0 }", configuration: Self.ignoreIdentity),
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's also add a correction example to proof that nothing is changed with the option enabled.

@@ -25,6 +35,8 @@ struct PreferKeyPathRule: Rule {
Example("f { (a, b) in a.b }", configuration: extendedMode),
Example("f { $0.a } g: { $0.b }", configuration: extendedMode),
Example("[1, 2, 3].reduce(1) { $0 + $1 }", configuration: extendedMode),
Example("f { $0 }", configuration: extendedModeAndIgnoreIdentity),
Example("f.map { $0 }", configuration: ignoreIdentity),
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's also add a correction example.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

prefer_key_path in 0.58.0 warns if {$0} instead of (\.self) for SwiftPM using Swift 5
3 participants