SwiftLint icon indicating copy to clipboard operation
SwiftLint copied to clipboard

Add new `direct_return` opt-in rule

Open SimplyDanny opened this issue 2 years ago • 1 comments

SimplyDanny avatar Jan 22 '23 17:01 SimplyDanny

623 Warnings
:warning: This PR introduced a violation in Aerial: /Aerial/Source/Models/Cache/Cache.swift:529:17: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Aerial: /Aerial/Source/Models/Hardware/DisplayDetection.swift:437:25: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Aerial: /Aerial/Source/Models/Sources/VideoList.swift:192:17: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Aerial: /Aerial/Source/Views/Layers/Weather/ConditionSymbolLayer.swift:182:17: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Aerial: /Aerial/Source/Views/Layers/Weather/WeatherLayer.swift:36:21: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Aerial: /Aerial/Source/Views/Layers/Weather/WeatherLayer.swift:69:21: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Alamofire: /Source/AuthenticationInterceptor.swift:365:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Alamofire: /Source/Request.swift:1523:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Alamofire: /Source/URLEncodedFormEncoder.swift:1050:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Alamofire: /Source/URLEncodedFormEncoder.swift:279:17: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Alamofire: /Source/URLEncodedFormEncoder.swift:462:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Alamofire: /Source/URLEncodedFormEncoder.swift:701:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Alamofire: /Source/URLEncodedFormEncoder.swift:712:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Alamofire: /Tests/CacheTests.swift:89:17: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Alamofire: /Tests/RequestTests.swift:794:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Alamofire: /Tests/RequestTests.swift:806:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Alamofire: /Tests/RequestTests.swift:818:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Alamofire: /Tests/RequestTests.swift:834:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Alamofire: /Tests/ServerTrustEvaluatorTests.swift:55:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Alamofire: /Tests/TLSEvaluationTests.swift:40:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Alamofire: /Tests/URLProtocolTests.swift:44:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/DeviceCheck/Cryptography.swift:53:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/DeviceCheck/DeviceCheck.swift:226:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/DeviceCheck/DeviceCheck.swift:242:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/DeviceCheck/DeviceCheck.swift:257:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Extensions/Rewards/BraveLedgerExtensions.swift:43:11: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Extensions/UIViewExtensions.swift:99:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/HomePanel/NTPDataSource.swift:187:11: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/ImageCache/WebImageCache.swift:63:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/New Tab Page/Backgrounds/NTPDownloader.swift:48:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/New Tab Page/NewTabPageViewController.swift:1195:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/Playlist/Controllers/PlaylistCarplayController.swift:354:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/Playlist/Controllers/PlaylistCarplayController.swift:460:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/Playlist/Controllers/PlaylistCarplayController.swift:514:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/TabManager.swift:1159:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/TabManager.swift:620:11: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/TabManager.swift:850:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/TabManagerNavDelegate.swift:76:11: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/Tabs/TabTray/TabTrayController.swift:118:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/Tabs/TabTray/Views/TabSyncContainerView.swift:105:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/Tabs/TabTray/Views/TabSyncContainerView.swift:78:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/Tabs/TabTray/Views/TabSyncContainerView.swift:91:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/Tabs/TabTray/Views/TabTrayContainerView.swift:42:11: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/Toolbars/BottomToolbar/Menu/Bookmarks/AddEditBookmarkTableViewController.swift:107:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/Toolbars/BottomToolbar/Menu/Bookmarks/AddEditBookmarkTableViewController.swift:119:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/Toolbars/BottomToolbar/Menu/Bookmarks/AddEditBookmarkTableViewController.swift:39:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/Toolbars/BottomToolbar/Menu/MenuViewController.swift:241:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/Toolbars/BottomToolbar/Menu/MenuViewController.swift:244:11: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/User Scripts/FarblingProtectionHelper.swift:137:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/User Scripts/FarblingProtectionHelper.swift:149:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Login/LoginListViewController.swift:222:11: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Settings/BraveShieldsAndPrivacySettingsController.swift:141:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Settings/RetentionPreferencesDebugMenuViewController.swift:104:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Settings/RetentionPreferencesDebugMenuViewController.swift:53:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Settings/RetentionPreferencesDebugMenuViewController.swift:70:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Settings/SearchQuickEnginesViewController.swift:99:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Settings/SearchSettingsTableViewController.swift:166:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Settings/SettingsViewController.swift:185:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Shields/SimpleShieldsView.swift:155:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Frontend/Sync/BraveCore/Password/PasswordAPIExtensions.swift:47:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/Utility/AppStorageDebugComposer.swift:62:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/WebFilters/DebouncingResourceDownloader.swift:197:15: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Brave/WebFilters/ShieldStats/Adblock/AdBlockEngine+Extensions.swift:67:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/BraveWallet/Blockies/Blockies.swift:81:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/BraveWallet/Crypto/Stores/PortfolioStore.swift:327:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/BraveWallet/Crypto/Stores/SwapTokenStore.swift:222:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/BraveWallet/Crypto/Stores/TransactionConfirmationStore.swift:479:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/BraveWallet/Extensions/AssetRatioServiceExtensions.swift:108:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Data/models/BlockedResource.swift:289:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Data/models/BlockedResource.swift:327:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Onboarding/OnboardingCommon.swift:30:11: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Onboarding/OnboardingCommon.swift:40:11: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Onboarding/OnboardingCommon.swift:50:11: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Onboarding/OnboardingCommon.swift:61:11: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Onboarding/ProductNotifications/ShareTrackersController.swift:151:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Shared/Extensions/UIImageExtensions.swift:55:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Storage/MockLogins.swift:15:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Storage/MockLogins.swift:27:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Sources/Storage/MockLogins.swift:39:9: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Tests/ClientTests/Web Filters/NetworkManager+Tests.swift:41:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Brave: /Tests/ClientTests/Web Filters/NetworkManager+Tests.swift:47:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in DuckDuckGo: /DuckDuckGo/Authenticator.swift:31:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in DuckDuckGo: /DuckDuckGo/AutofillLoginListAuthenticator.swift:48:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in DuckDuckGo: /DuckDuckGo/BookmarkFaviconUpdater.swift:89:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in DuckDuckGo: /DuckDuckGo/FavoritesHomeViewSectionRenderer.swift:247:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in DuckDuckGo: /DuckDuckGo/HomeMessageStorage.swift:31:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in DuckDuckGo: /DuckDuckGo/HomeMessageViewSectionRenderer.swift:161:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in DuckDuckGo: /DuckDuckGo/HomeViewController.swift:69:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in DuckDuckGo: /DuckDuckGo/MainViewController.swift:1967:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in DuckDuckGo: /DuckDuckGo/QuickLookContainerViewController.swift:34:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in DuckDuckGo: /DuckDuckGo/ScriptSourceProviding.swift:100:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in DuckDuckGo: /DuckDuckGo/SpeechRecognizer.swift:102:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in DuckDuckGo: /DuckDuckGo/TabViewController.swift:250:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in DuckDuckGo: /DuckDuckGo/TabViewControllerBrowsingMenuExtension.swift:242:17: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in DuckDuckGo: /DuckDuckGo/TabViewControllerBrowsingMenuExtension.swift:252:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in DuckDuckGo: /DuckDuckGo/UIImageExtension.swift:41:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in DuckDuckGo: /DuckDuckGo/VoiceSearchViewController.swift:31:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in DuckDuckGo: /DuckDuckGo/WebViewTransition.swift:187:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in DuckDuckGo: /DuckDuckGo/WebViewTransition.swift:49:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in DuckDuckGo: /DuckDuckGoTests/BookmarksTestHelpers.swift:39:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in DuckDuckGo: /DuckDuckGoTests/DaxDialogTests.swift:316:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in DuckDuckGo: /DuckDuckGoTests/TabsModelPersistenceExtensionTests.swift:49:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in DuckDuckGo: /DuckDuckGoTests/TabsModelTests.swift:33:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in DuckDuckGo: /DuckDuckGoTests/TabsModelTests.swift:40:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Firefox: /BrowserKit/Sources/SiteImageView/FaviconURLProcessing/URLFetcher/FaviconURLFetcher.swift:26:17: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Firefox: /BrowserKit/Sources/SiteImageView/ImageProcessing/LetterImageGenerator.swift:24:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Firefox: /Client/Experiments/Experiments.swift:102:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Firefox: /Client/Experiments/Messaging/GleanPlumbMessageManager.swift:181:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Firefox: /Client/Extensions/CGRect+Extension.swift:19:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Firefox: /Client/Frontend/Browser/DefaultSearchPrefs.swift:59:25: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Firefox: /Client/Frontend/Browser/MainMenuActionHelper.swift:423:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Firefox: /Client/Frontend/Browser/MainMenuActionHelper.swift:513:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Firefox: /Client/Frontend/Browser/OpenInHelper/OpenInHelper.swift:133:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Firefox: /Client/Frontend/Browser/SearchViewController.swift:634:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Firefox: /Client/Frontend/Browser/String+Punycode.swift:182:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Firefox: /Client/Frontend/Browser/String+Punycode.swift:194:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Firefox: /Client/Frontend/Browser/TabDisplayManager.swift:1062:21: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Firefox: /Client/Frontend/Browser/TabScrollController.swift:94:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Firefox: /Client/Frontend/Browser/TabScrollController.swift:99:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Firefox: /Client/Frontend/Browser/Tabs/InactiveTabViewModel.swift:46:21: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Firefox: /Client/Frontend/Home/HomepageViewController.swift:224:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Firefox: /Client/Frontend/Home/Wallpapers/v1/UI/WallpaperSelectorViewController.swift:191:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Firefox: /Client/Frontend/Home/Wallpapers/v1/UI/WallpaperSelectorViewModel.swift:188:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Firefox: /Client/Frontend/Home/Wallpapers/v1/Utilities/WallpaperMetadataUtility.swift:76:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Firefox: /Client/Frontend/Library/Bookmarks/BookmarkDetailPanel.swift:74:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Firefox: /Client/Frontend/Library/Bookmarks/BookmarkDetailPanel.swift:79:13: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Firefox: /Client/Frontend/Library/HistoryPanel/HistoryPanel.swift:346:21: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: This PR introduced a violation in Firefox: /Client/Frontend/Library/HistoryPanel/HistoryPanel.swift:358:21: warning: Direct Return Violation: Directly return the expression instead of assigning it to a variable first (direct_return)
:warning: Danger found 623 violations with this PR. Due to GitHub's max issue comment size, the number shown has been truncated to 128.
18 Messages
:book: Linting Aerial with this PR took 1.07s vs 1.07s on main (0% slower)
:book: Linting Alamofire with this PR took 1.41s vs 1.39s on main (1% slower)
:book: Linting Brave with this PR took 7.52s vs 7.49s on main (0% slower)
:book: Linting DuckDuckGo with this PR took 3.13s vs 3.12s on main (0% slower)
:book: Linting Firefox with this PR took 9.28s vs 9.32s on main (0% faster)
:book: Linting Kickstarter with this PR took 10.09s vs 10.04s on main (0% slower)
:book: Linting Moya with this PR took 0.56s vs 0.55s on main (1% slower)
:book: Linting NetNewsWire with this PR took 3.09s vs 3.08s on main (0% slower)
:book: Linting Nimble with this PR took 0.62s vs 0.62s on main (0% slower)
:book: Linting PocketCasts with this PR took 7.5s vs 7.46s on main (0% slower)
:book: Linting Quick with this PR took 0.23s vs 0.24s on main (4% faster)
:book: Linting Realm with this PR took 11.9s vs 11.87s on main (0% slower)
:book: Linting SourceKitten with this PR took 0.44s vs 0.44s on main (0% slower)
:book: Linting Sourcery with this PR took 2.33s vs 2.3s on main (1% slower)
:book: Linting Swift with this PR took 4.63s vs 4.62s on main (0% slower)
:book: Linting VLC with this PR took 1.36s vs 1.37s on main (0% faster)
:book: Linting Wire with this PR took 8.91s vs 8.91s on main (0% slower)
:book: Linting WordPress with this PR took 11.29s vs 11.21s on main (0% slower)

Generated by :no_entry_sign: Danger

SwiftLintBot avatar Feb 18 '23 13:02 SwiftLintBot

I've checked the visible OSS findings and all are valid.

So let me merge it to gain some feedback from users.

SimplyDanny avatar Feb 19 '23 11:02 SimplyDanny

This is great @SimplyDanny! I've turned this on for Lyft's codebase and the consensus is that folks like it.

I ran into 3 kinds of minor issues with the rule's correction logic:

1. Corrections "eats" some comments

For example this:

private func getNodes(bar: Bar) -> [(Node, Int)] {
    // This is an important comment
    let allNodes = bar.rootNodes
        .flatMap { $0.transform1() }
        .flatMap { $0.transform2() }
        .map { ($0, $0.someIntProp) }

    return allNodes
}

Corrects to this:

private func getNodes(bar: Bar) -> [(Node, Int)] {
    return bar.rootNodes
        .flatMap { $0.transform1() }
        .flatMap { $0.transform2() }
        .map { ($0, $0.someIntProp) }
}

Ideally it would keep the // This is an important comment comment.

2. disable:next commands aren't respected when correcting

This is probably a side-effect of 1, but this:

private func getNodes(bar: Bar) -> [(Node, Int)] {
    // swiftlint:disable:next direct_return - Local var needed to help the compiler type check the expression
    let allNodes = bar.rootNodes
        .flatMap { $0.transform1() }
        .flatMap { $0.transform2() }
        .map { ($0, $0.someIntProp) }

    return allNodes
}

Corrects to this:

private func getNodes(bar: Bar) -> [(Node, Int)] {
    return bar.rootNodes
        .flatMap { $0.transform1() }
        .flatMap { $0.transform2() }
        .map { ($0, $0.someIntProp) }
}

But really because of the disable comment, this shouldn't be corrected at all.

3. Some typechecking information is lost

For example this:

var values: [Foo] {
  let values: [Bar] = [.first, .second, .third]
  return values
}

Corrects to this:

var values: [Foo] {
  return [.first, .second, .third]
}

Which may or may not typecheck.

This typechecks though:

var values: [Foo] {
  return [.first, .second, .third] as [Bar]
}

jpsim avatar Feb 22 '23 20:02 jpsim

This is great @SimplyDanny! I've turned this on for Lyft's codebase and the consensus is that folks like it.

Glad to hear that you like the new rule generally!

I ran into 3 kinds of minor issues with the rule's correction logic:

I've addressed these issues in #4783. Correct handling of trivia is a really unpleasant task. 😬

SimplyDanny avatar Feb 24 '23 17:02 SimplyDanny

Correct handling of trivia is a really unpleasant task.

I agree. SwiftSyntax doesn't make it easy. I keep hoping I'm going to have a "lightbulb" moment at some point where it's going to click how to actually operate over whitespace elegantly with SwiftSyntax.

jpsim avatar Feb 24 '23 17:02 jpsim

Correct handling of trivia is a really unpleasant task.

I agree. SwiftSyntax doesn't make it easy. I keep hoping I'm going to have a "lightbulb" moment at some point where it's going to click how to actually operate over whitespace elegantly with SwiftSyntax.

Haha ... same for me. 😂

It would probably make sense to have our own "trivia library" in SwiftLint. Something like "(un-)indent this list of statements" would be very useful to have, for example. But it would presumably feel like a set of heuristics that could potentially break with every new version of SwiftSyntax.

SimplyDanny avatar Feb 24 '23 17:02 SimplyDanny

It would probably make sense to have our own "trivia library" in SwiftLint.

I wonder if this would make sense in the SwiftSyntax repo itself.

To start we could start a discussion in the Source Tooling section of the swift forums about our challenges working with trivia using SwiftSyntax and if folks have recommendations, or if folks would be interested in having a "trivia library" in SwiftSyntax.

With SwiftSyntax powering the upcoming Swift macros features, I suspect there will be increasing interest and adoption of SwiftSyntax in the coming months, so we're probably far from the only folks thinking about this.

jpsim avatar Feb 24 '23 21:02 jpsim

The SwiftSyntax repo would surely be the better place where such a library should belong.

Not sure if it should start with an initial implementation, though, to have something to talk about. For experimentation, the SwiftLint repo would be a good starting point.

But asking folks in the forum first is definitely a good idea. I may prepare a post when there is some spare time left.

SimplyDanny avatar Feb 26 '23 09:02 SimplyDanny