Skip to content

Rewrite RedundantVoidReturnRule with SwiftSyntax#4192

Merged
jpsim merged 4 commits into
mainfrom
marcelo/RedundantVoidReturnRule-swift-syntax
Oct 30, 2023
Merged

Rewrite RedundantVoidReturnRule with SwiftSyntax#4192
jpsim merged 4 commits into
mainfrom
marcelo/RedundantVoidReturnRule-swift-syntax

Conversation

@marcelofabri
Copy link
Copy Markdown
Collaborator

@marcelofabri marcelofabri commented Sep 8, 2022

The correction tests are failing, but wanted to trigger oss-check meanwhile

@SwiftLintBot
Copy link
Copy Markdown

SwiftLintBot commented Sep 8, 2022

261 Warnings
⚠️ This PR may need tests.
⚠️ This PR introduced a violation in Aerial: /Aerial/Source/Models/Cache/VideoCache.swift:358:38: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Aerial: /Aerial/Source/Models/Cache/VideoDownload.swift:212:38: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Aerial: /Aerial/Source/Models/Cache/VideoDownload.swift:221:38: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Aerial: /Aerial/Source/Models/Cache/VideoDownload.swift:237:25: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Aerial: /Aerial/Source/Models/Cache/VideoDownload.swift:252:25: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Aerial: /Aerial/Source/Models/Cache/VideoDownload.swift:276:25: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Aerial: /Aerial/Source/Models/Cache/VideoDownload.swift:283:25: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Aerial: /Aerial/Source/Models/Cache/VideoLoader.swift:165:25: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Aerial: /Aerial/Source/Models/Cache/VideoLoader.swift:88:25: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Aerial: /Aerial/Source/Models/Cache/VideoLoader.swift:96:25: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/BackForwardListAnimator.swift:62:25: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/BackForwardListAnimator.swift:69:34: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/BackForwardListAnimator.swift:76:25: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/BackForwardListAnimator.swift:83:34: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/BrowserViewController/BrowserViewController+ReaderMode.swift:142:158: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/Tab.swift:733:25: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/Tab.swift:746:25: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/Toolbars/BottomToolbar/Menu/Bookmarks/BookmarksViewController.swift:231:59: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/Toolbars/BottomToolbar/Menu/HistoryViewController.swift:169:55: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Brave: /Sources/Brave/Frontend/Browser/Toolbars/UrlBar/TabLocationView.swift:109:27: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Brave: /Sources/Brave/Frontend/Reader/ReaderModeStyleViewController.swift:104:42: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Brave: /Sources/Brave/Frontend/Reader/ReaderModeStyleViewController.swift:145:47: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Brave: /Sources/Brave/Frontend/Reader/ReaderModeStyleViewController.swift:166:56: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Brave: /Sources/Brave/Frontend/Reader/ReaderModeStyleViewController.swift:175:56: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Brave: /Sources/Brave/Frontend/Reader/ReaderModeStyleViewController.swift:57:45: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Brave: /Sources/Brave/Frontend/Reader/ReaderModeStyleViewController.swift:76:45: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Brave: /Sources/Brave/Frontend/Reader/ReaderModeStyleViewController.swift:85:47: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Brave: /Sources/Brave/Frontend/Sync/SyncCameraView.swift:132:43: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Brave: /Sources/Brave/Frontend/UserContent/UserScripts/Scripts_Dynamic/ScriptHandlers/Sandboxed/LoginsScriptHandler.swift:230:24: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Brave: /Sources/Brave/Frontend/UserContent/UserScripts/Scripts_Dynamic/ScriptHandlers/Sandboxed/ReaderModeScriptHandler.swift:321:189: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Brave: /Sources/BraveVPN/BraveVPNContactFormViewController.swift:219:110: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Brave: /Sources/Shared/Accessibility.swift:33:33: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in DuckDuckGo: /DuckDuckGo/AutocompleteRequest.swift:47:98: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Client/Application/AppLaunchUtil.swift:65:132: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Client/Frontend/Browser/Authenticator.swift:134:21: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Client/Frontend/Browser/Authenticator.swift:150:91: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Client/Frontend/Browser/Authenticator.swift:157:41: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Client/Frontend/Browser/Authenticator.swift:163:41: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Client/Frontend/Browser/Authenticator.swift:170:59: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Client/Frontend/Browser/BackForwardListAnimator.swift:63:33: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Client/Frontend/Browser/BackForwardListAnimator.swift:67:45: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Client/Frontend/Browser/BackForwardListAnimator.swift:77:33: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Client/Frontend/Browser/BackForwardListAnimator.swift:81:45: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Client/Frontend/DevicePickerTableViewCell.swift:44:47: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Client/Frontend/DevicePickerTableViewHeaderCell.swift:23:47: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Client/Frontend/Reader/ReadabilityService.swift:47:47: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Client/Frontend/Toolbar+URLBar/TabLocationView.swift:370:59: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Client/Frontend/Widgets/PhotonActionSheet/PhotonActionSheetAnimator.swift:61:33: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Client/Frontend/Widgets/PhotonActionSheet/PhotonActionSheetAnimator.swift:65:45: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Client/Frontend/Widgets/PhotonActionSheet/PhotonActionSheetAnimator.swift:75:33: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Client/Frontend/Widgets/PhotonActionSheet/PhotonActionSheetAnimator.swift:79:45: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Client/Frontend/Widgets/TabsButton.swift:88:55: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Client/Frontend/Widgets/TabsButton.swift:91:50: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Client/Frontend/Widgets/TabsButton.swift:94:50: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Client/Frontend/Widgets/TabsButton.swift:97:52: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Client/TabManagement/Tab.swift:729:64: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Client/TabManagement/Tab.swift:740:64: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Shared/Accessibility.swift:34:37: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Storage/SQL/BrowserDB.swift:86:40: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Tests/ClientTests/TestHistory.swift:164:34: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Tests/ClientTests/TestHistory.swift:203:36: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Tests/ClientTests/TestHistory.swift:214:34: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Tests/ClientTests/TestHistory.swift:218:30: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Tests/ClientTests/TestHistory.swift:229:34: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Tests/ClientTests/TestHistory.swift:241:30: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Tests/ClientTests/TestHistory.swift:253:34: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Tests/ClientTests/TestHistory.swift:264:71: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Tests/ClientTests/TestHistory.swift:278:34: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Tests/ClientTests/TestHistory.swift:289:71: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Tests/ClientTests/TestHistory.swift:65:34: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Tests/StorageTests/TestBrowserDB.swift:127:43: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Tests/StorageTests/TestSwiftData.swift:66:78: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /Tests/StorageTests/TestSwiftData.swift:94:87: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /ThirdParty/Deferred/DeferredTests/LockProtectedTests.swift:34:59: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Firefox: /ThirdParty/Deferred/DeferredTests/LockProtectedTests.swift:52:58: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Kickstarter: /Kickstarter-iOS/Features/Help/Datasource/HelpDataSource.swift:8:47: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Kickstarter: /Kickstarter-iOS/Features/Settings/Datasource/Datasource/SettingsDataSource.swift:8:51: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Kickstarter: /Kickstarter-iOS/Features/SettingsAccount/Datasource/SettingsAccountDataSource.swift:26:44: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Kickstarter: /Kickstarter-iOS/Features/SettingsNotifications/Datasource/SettingsNotificationsDataSource.swift:13:28: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Kickstarter: /Library/ViewModels/FindFriendsFriendFollowCellViewModel.swift:130:34: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Kickstarter: /Library/ViewModels/FindFriendsFriendFollowCellViewModel.swift:133:34: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in NetNewsWire: /Account/Sources/Account/CloudKit/CloudKitAccountDelegate.swift:345:95: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/MainWindow/AddFeed/AddFeedWIndowController.swift:51:77: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/MainWindow/AddFolder/AddFolderWindowController.swift:28:78: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in NetNewsWire: /Mac/MainWindow/Sidebar/SidebarViewController.swift:834:79: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Nimble: /Sources/Nimble/DSL+AsyncAwait.swift:123:102: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Nimble: /Sources/Nimble/DSL+Wait.swift:48:119: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Nimble: /Sources/Nimble/Expectation.swift:21:64: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Nimble: /Tests/NimbleTests/DSLTest.swift:39:51: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Nimble: /Tests/NimbleTests/DSLTest.swift:42:51: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Nimble: /Tests/NimbleTests/DSLTest.swift:45:51: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Nimble: /Tests/NimbleTests/DSLTest.swift:57:52: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Nimble: /Tests/NimbleTests/DSLTest.swift:60:52: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Nimble: /Tests/NimbleTests/DSLTest.swift:63:52: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Nimble: /Tests/NimbleTests/Matchers/ThrowAssertionTest.swift:13:20: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Nimble: /Tests/NimbleTests/Matchers/ThrowAssertionTest.swift:64:24: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Nimble: /Tests/NimbleTests/Matchers/ThrowErrorTest.swift:131:39: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Quick: /Tests/QuickTests/QuickFocusedTests/FacusedTests+Async.swift:29:81: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Quick: /Tests/QuickTests/QuickFocusedTests/FocusedTests.swift:39:71: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Quick: /Tests/QuickTests/QuickTests/FunctionalTests/Async/AsyncBehaviorTests.swift:8:83: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Quick: /Tests/QuickTests/QuickTests/FunctionalTests/Async/PendingAsyncTests.swift:20:81: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Quick: /Tests/QuickTests/QuickTests/FunctionalTests/BehaviorTests.swift:8:73: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Quick: /Tests/QuickTests/QuickTests/FunctionalTests/PendingTests.swift:26:71: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Realm: /Realm/ObjectServerTests/SwiftObjectServerTests.swift:1544:58: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Realm: /RealmSwift/Tests/RealmTests.swift:836:47: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Realm: /examples/tvos/swift/DownloadCache/RepositoriesViewController.swift:83:114: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Sourcery: /SourceryExecutable/main.swift:266:25: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Sourcery: /SourceryTests/Stub/Performance-Code/Kiosk/Auction Listings/ListingsCountdownManager.swift:39:59: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Sourcery: /SourceryTests/Stub/Performance-Code/Kiosk/Auction Listings/ListingsViewController.swift:16:92: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Sourcery: /SourceryTests/Stub/Performance-Code/Kiosk/Auction Listings/ListingsViewController.swift:23:99: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Sourcery: /SourceryTests/Stub/Performance-Code/Kiosk/Bid Fulfillment/Models/BidDetails.swift:18:60: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Sourcery: /SourceryUtils/Sources/Sha.swift:17:41: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Swift: /stdlib/private/StdlibUnittest/RaceTest.swift:639:7: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Swift: /stdlib/private/StdlibUnittest/RaceTest.swift:657:15: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Swift: /stdlib/private/StdlibUnittest/RaceTest.swift:665:7: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Swift: /stdlib/private/SwiftPrivate/IO.swift:217:17: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Swift: /stdlib/public/Concurrency/Task.swift:858:96: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Swift: /stdlib/public/Concurrency/TaskSleep.swift:25:52: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Swift: /stdlib/public/core/AssertCommon.swift:101:16: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Swift: /stdlib/public/core/AssertCommon.swift:103:15: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Swift: /stdlib/public/core/AssertCommon.swift:132:13: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Swift: /stdlib/public/core/AssertCommon.swift:135:20: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Swift: /stdlib/public/core/AssertCommon.swift:137:15: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Swift: /stdlib/public/core/AssertCommon.swift:164:13: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Swift: /stdlib/public/core/AssertCommon.swift:167:20: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Swift: /stdlib/public/core/AssertCommon.swift:99:13: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Swift: /stdlib/public/core/StringSwitch.swift:80:53: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in Swift: /stdlib/public/core/StringTesting.swift:132:33: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in VLC: /Sources/Media Library/Editing/EditActions.swift:153:36: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ This PR introduced a violation in VLC: /Sources/Media Library/Editing/EditActions.swift:373:32: warning: Redundant Void Return Violation: Returning Void in a function declaration is redundant (redundant_void_return)
⚠️ Danger found 261 violations with this PR. Due to GitHub's max issue comment size, the number shown has been truncated to 131.
17 Messages
📖 Linting Aerial with this PR took 1.19s vs 1.18s on main (0% slower)
📖 Linting Alamofire with this PR took 1.56s vs 1.57s on main (0% faster)
📖 Linting Brave with this PR took 8.91s vs 8.86s on main (0% slower)
📖 Linting DuckDuckGo with this PR took 4.46s vs 4.45s on main (0% slower)
📖 Linting Firefox with this PR took 10.41s vs 10.41s on main (0% slower)
📖 Linting Kickstarter with this PR took 10.95s vs 10.89s on main (0% slower)
📖 Linting Moya with this PR took 0.62s vs 0.62s on main (0% slower)
📖 Linting NetNewsWire with this PR took 3.27s vs 3.25s on main (0% slower)
📖 Linting Nimble with this PR took 0.82s vs 0.82s on main (0% slower)
📖 Linting PocketCasts with this PR took 8.72s vs 8.68s on main (0% slower)
📖 Linting Quick with this PR took 0.4s vs 0.4s on main (0% slower)
📖 Linting Realm with this PR took 11.66s vs 11.6s on main (0% slower)
📖 Linting Sourcery with this PR took 2.81s vs 2.81s on main (0% slower)
📖 Linting Swift with this PR took 5.24s vs 5.22s on main (0% slower)
📖 Linting VLC with this PR took 1.55s vs 1.54s on main (0% slower)
📖 Linting Wire with this PR took 19.55s vs 19.43s on main (0% slower)
📖 Linting WordPress with this PR took 13.17s vs 13.14s on main (0% slower)

Generated by 🚫 Danger

@marcelofabri marcelofabri marked this pull request as ready for review September 8, 2022 12:14
Copy link
Copy Markdown
Collaborator

@jpsim jpsim left a comment

Choose a reason for hiding this comment

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

So good. It's hard to write a clean rewriter though. Maybe it's a skill we'll develop over time.

}

return [match]
override func visit(_ node: FunctionSignatureSyntax) -> Syntax {
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

As it is, this won't fix all the violations found, since in the visitor you visit ReturnClauseSyntax nodes and here you visit FunctionSignatureSyntax nodes.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Duplicating the whole thing for ClosureSignatureSyntax works but is klunky:

diff --git a/Source/SwiftLintFramework/Rules/Idiomatic/RedundantVoidReturnRule.swift b/Source/SwiftLintFramework/Rules/Idiomatic/RedundantVoidReturnRule.swift
index 0fd4108252..38d6d7e59a 100644
--- a/Source/SwiftLintFramework/Rules/Idiomatic/RedundantVoidReturnRule.swift
+++ b/Source/SwiftLintFramework/Rules/Idiomatic/RedundantVoidReturnRule.swift
@@ -101,6 +101,25 @@ private extension RedundantVoidReturnRule {
             self.disabledRegions = disabledRegions
         }
 
+        override func visit(_ node: ClosureSignatureSyntax) -> Syntax {
+            guard let output = node.output,
+                  let tokenBeforeOutput = output.previousToken,
+                  output.containsRedundantVoidViolation else {
+                return super.visit(node)
+            }
+
+            let isInDisabledRegion = disabledRegions.contains { region in
+                region.contains(node.positionAfterSkippingLeadingTrivia, locationConverter: locationConverter)
+            }
+
+            guard !isInDisabledRegion else {
+                return super.visit(node)
+            }
+
+            correctionPositions.append(tokenBeforeOutput.endPositionBeforeTrailingTrivia)
+            return super.visit(node.withOutput(nil).removingTrailingSpaceIfNeeded())
+        }
+
         override func visit(_ node: FunctionSignatureSyntax) -> Syntax {
             guard let output = node.output,
                   let tokenBeforeOutput = output.previousToken,
@@ -136,6 +155,32 @@ private extension ReturnClauseSyntax {
     }
 }
 
+private extension ClosureSignatureSyntax {
+    /// `withOutput(nil)` adds a `.spaces(1)` trailing trivia, but we don't always want it.
+    func removingTrailingSpaceIfNeeded() -> Self {
+        guard let trivia = trailingTrivia, let nextToken = nextToken else {
+            return self
+        }
+
+        let containsNewLine = nextToken.leadingTrivia.contains { piece in
+            switch piece {
+            case .newlines:
+                return true
+            default:
+                return false
+            }
+        }
+
+        guard containsNewLine else {
+            return self
+        }
+
+        return withTrailingTrivia(
+            Trivia(pieces: Array(trivia.dropFirst()))
+        )
+    }
+}
+
 private extension FunctionSignatureSyntax {
     /// `withOutput(nil)` adds a `.spaces(1)` trailing trivia, but we don't always want it.
     func removingTrailingSpaceIfNeeded() -> Self {

@jpsim
Copy link
Copy Markdown
Collaborator

jpsim commented Sep 8, 2022

I found a false positive in Lyft's codebase with this:

let foo = { () -> Void in
  bar.baz(to: blorp)
}

The type inference fails here. I think this is an issue with @discardableResult. Maybe it's only safe to report violations with functions?

@marcelofabri
Copy link
Copy Markdown
Collaborator Author

I found a false positive in Lyft's codebase with this:

let foo = { () -> Void in
  bar.baz(to: blorp)
}

The type inference fails here. I think this is an issue with @discardableResult. Maybe it's only safe to report violations with functions?

isn't this something that the existing void_return triggers?

Co-authored-by: Marcelo Fabri <me@marcelofabri.com>
@jpsim jpsim force-pushed the marcelo/RedundantVoidReturnRule-swift-syntax branch from 6e59af1 to 8d5affa Compare October 30, 2023 15:16
@jpsim
Copy link
Copy Markdown
Collaborator

jpsim commented Oct 30, 2023

I hope you don't mind @marcelofabri I rebased and updated this branch, it'd be good to get this in.

@jpsim
Copy link
Copy Markdown
Collaborator

jpsim commented Oct 30, 2023

Linting Wire with this PR took 1.12s vs 3.55s on main (68% faster)

🤩

@jpsim
Copy link
Copy Markdown
Collaborator

jpsim commented Oct 30, 2023

I’m considering making the extended coverage opt-out since when used in closures, this isn’t strictly redundant since it helps the type checker.

jpsim added 2 commits October 30, 2023 12:53
To see more accurately the difference between the SourceKit and
SwiftSyntax versions of the rule
@jpsim
Copy link
Copy Markdown
Collaborator

jpsim commented Oct 30, 2023

When running OSSCheck with include_closures: false, there are only two differences with the previous version of the rule and they're both false negatives that were previously missed:

@jpsim jpsim merged commit 686dc3d into main Oct 30, 2023
@jpsim jpsim deleted the marcelo/RedundantVoidReturnRule-swift-syntax branch October 30, 2023 17:41
jpsim added a commit that referenced this pull request Oct 30, 2023
jpsim added a commit that referenced this pull request Oct 30, 2023
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.

3 participants