Fix false positives in redundant_discardable_let rule
Fixes #6063
I’d appreciate any feedback or suggestions. Thanks in advance for your time and review!
Changes
- Fix false positive for
@ViewBuilderfunctions when ignore_swiftui_view_bodies is set to true. - Fix false positive for #Preview when ignore_swiftui_view_bodies is set to true.
- Fix false positive for PreviewProvider when ignore_swiftui_view_bodies is set to true.
| 1 Warning | |
|---|---|
| :warning: | This PR may need tests. |
| 18 Messages | |
|---|---|
| :book: | Building this branch resulted in a binary size of 25119.02 KiB vs 25118.15 KiB when built on main (0% larger). |
| :book: | Linting Aerial with this PR took 0.17 s vs 0.17 s on main (0% slower). |
| :book: | Linting Alamofire with this PR took 0.17 s vs 0.17 s on main (0% slower). |
| :book: | Linting Brave with this PR took 0.74 s vs 0.73 s on main (1% slower). |
| :book: | Linting DuckDuckGo with this PR took 5.23 s vs 5.22 s on main (0% slower). |
| :book: | Linting Firefox with this PR took 1.0 s vs 1.02 s on main (1% faster). |
| :book: | Linting Kickstarter with this PR took 0.73 s vs 0.73 s on main (0% slower). |
| :book: | Linting Moya with this PR took 0.13 s vs 0.13 s on main (0% slower). |
| :book: | Linting NetNewsWire with this PR took 0.29 s vs 0.29 s on main (0% slower). |
| :book: | Linting Nimble with this PR took 0.15 s vs 0.15 s on main (0% slower). |
| :book: | Linting PocketCasts with this PR took 0.7 s vs 0.7 s on main (0% slower). |
| :book: | Linting Quick with this PR took 0.13 s vs 0.13 s on main (0% slower). |
| :book: | Linting Realm with this PR took 0.42 s vs 0.42 s on main (0% slower). |
| :book: | Linting Sourcery with this PR took 0.28 s vs 0.28 s on main (0% slower). |
| :book: | Linting Swift with this PR took 0.43 s vs 0.43 s on main (0% slower). |
| :book: | Linting VLC with this PR took 0.2 s vs 0.2 s on main (0% slower). |
| :book: | Linting Wire with this PR took 1.78 s vs 1.79 s on main (0% faster). |
| :book: | Linting WordPress with this PR took 0.97 s vs 0.98 s on main (1% faster). |
Generated by :no_entry_sign: Danger
@SimplyDanny Thank you for your thorough review!
I've incorporated all of your suggestions.
Additionally, I’ve added more triggeringExamples as unit tests to further ensure that the added isPreviewProviderBody isn’t causing any issues.
https://github.com/realm/SwiftLint/pull/6075/commits/00866da6a0fc1e55c7bc16c25794080600b31fa9
I’d appreciate it if you could take another look when you have time. Thanks in advance!
@SimplyDanny Thanks for reviewing! I've fixed all the issues.
Some CI jobs ('buildkite/swiftlint' and ''buildkite/swiftlint/danger') seems to be failing due to an error unrelated to this PR. https://buildkite.com/swiftlint/swiftlint/builds/9882
Maybe the DANGER_GITHUB_API_TOKEN has expired?
bundle exec danger --verbose
--
| To use retry middleware with Faraday v2.0+, install `faraday-retry` gem
| bundler: failed to load command: danger (/Users/administrator/.rbenv/versions/3.4.2/bin/danger)
| /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/octokit-5.6.1/lib/octokit/response/raise_error.rb:14:in 'Octokit::Response::RaiseError#on_complete': GET https://api.github.com/repos/realm/SwiftLint/pulls/6075: 401 - Bad credentials // See: https://docs.github.com/rest (Octokit::Unauthorized)
| from /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/faraday-2.7.4/lib/faraday/middleware.rb:18:in 'block in Faraday::Middleware#call'
| from /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/faraday-2.7.4/lib/faraday/response.rb:42:in 'Faraday::Response#on_complete'
| from /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/faraday-2.7.4/lib/faraday/middleware.rb:17:in 'Faraday::Middleware#call'
| from /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/octokit-5.6.1/lib/octokit/middleware/follow_redirects.rb:73:in 'Octokit::Middleware::FollowRedirects#perform_with_redirection'
| from /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/octokit-5.6.1/lib/octokit/middleware/follow_redirects.rb:61:in 'Octokit::Middleware::FollowRedirects#call'
| from /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/faraday-2.7.4/lib/faraday/rack_builder.rb:153:in 'Faraday::RackBuilder#build_response'
| from /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/faraday-2.7.4/lib/faraday/connection.rb:444:in 'Faraday::Connection#run_request'
| from /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/faraday-2.7.4/lib/faraday/connection.rb:200:in 'Faraday::Connection#get'
| from /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/sawyer-0.9.2/lib/sawyer/agent.rb:99:in 'Sawyer::Agent#call'
| from /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/octokit-5.6.1/lib/octokit/connection.rb:156:in 'Octokit::Connection#request'
| from /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/octokit-5.6.1/lib/octokit/connection.rb:19:in 'Octokit::Connection#get'
| from /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/octokit-5.6.1/lib/octokit/client/pull_requests.rb:33:in 'Octokit::Client::PullRequests#pull_request'
| from /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/danger-9.2.0/lib/danger/request_sources/github/github.rb:117:in 'Danger::RequestSources::GitHub#fetch_details'
| from /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/danger-9.2.0/lib/danger/danger_core/environment_manager.rb:53:in 'Danger::EnvironmentManager#fill_environment_vars'
| from /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/danger-9.2.0/lib/danger/danger_core/dangerfile.rb:280:in 'Danger::Dangerfile#run'
| from /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/danger-9.2.0/lib/danger/danger_core/executor.rb:28:in 'Danger::Executor#run'
| from /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/danger-9.2.0/lib/danger/commands/runner.rb:73:in 'Danger::Runner#run'
| from /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/claide-1.1.0/lib/claide/command.rb:334:in 'CLAide::Command.run'
| from /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/danger-9.2.0/bin/danger:5:in '<top (required)>'
| from /Users/administrator/.rbenv/versions/3.4.2/bin/danger:25:in 'Kernel#load'
| from /Users/administrator/.rbenv/versions/3.4.2/bin/danger:25:in '<top (required)>'
| from /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/bundler-2.4.12/lib/bundler/cli/exec.rb:58:in 'Kernel.load'
| from /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/bundler-2.4.12/lib/bundler/cli/exec.rb:58:in 'Bundler::CLI::Exec#kernel_load'
| from /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/bundler-2.4.12/lib/bundler/cli/exec.rb:23:in 'Bundler::CLI::Exec#run'
| from /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/bundler-2.4.12/lib/bundler/cli.rb:492:in 'Bundler::CLI#exec'
| from /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/bundler-2.4.12/lib/bundler/vendor/thor/lib/thor/command.rb:27:in 'Bundler::Thor::Command#run'
| from /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/bundler-2.4.12/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in 'Bundler::Thor::Invocation#invoke_command'
| from /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/bundler-2.4.12/lib/bundler/vendor/thor/lib/thor.rb:392:in 'Bundler::Thor.dispatch'
| from /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/bundler-2.4.12/lib/bundler/cli.rb:34:in 'Bundler::CLI.dispatch'
| from /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/bundler-2.4.12/lib/bundler/vendor/thor/lib/thor/base.rb:485:in 'Bundler::Thor::Base::ClassMethods#start'
| from /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/bundler-2.4.12/lib/bundler/cli.rb:28:in 'Bundler::CLI.start'
| from /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/bundler-2.4.12/exe/bundle:45:in 'block in <top (required)>'
| from /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/bundler-2.4.12/lib/bundler/friendly_errors.rb:117:in 'Bundler.with_friendly_errors'
| from /Users/administrator/.rbenv/versions/3.4.2/lib/ruby/gems/3.4.0/gems/bundler-2.4.12/exe/bundle:33:in '<top (required)>'
| from /Users/administrator/.rbenv/versions/3.4.2/bin/bundle:25:in 'Kernel#load'
| from /Users/administrator/.rbenv/versions/3.4.2/bin/bundle:25:in '<main>'
| make: *** [oss_scan] Error 1
| 🚨 Error: The command exited with status 2
| user command error: exit status 2