Skip to content
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

Fix a false positive for `Lint/SuppressedException` #8017

Merged

Conversation

@koic
Copy link
Member

koic commented May 23, 2020

This PR fixes a false positive for Lint/SuppressedException when empty rescue with comment in def.

% cat example.rb
def foo
  do_something
rescue
  # noop
end

% bundle exec rubocop --only Lint/SuppressedException
(snip)

Inspecting 1 file
W

Offenses:

example.rb:3:1: W: Lint/SuppressedException: Do not suppress exceptions.
rescue
^^^^^^

1 file inspected, 1 offense detected

The above code should not be warned because AllowComments: true by defualt.


Before submitting the PR make sure the following are checked:

  • Wrote good commit messages.
  • Commit message starts with [Fix #issue-number] (if the related issue exists).
  • Feature branch is up-to-date with master (if not - rebase it).
  • Squashed related commits together.
  • Added tests.
  • Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
  • The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
  • Run bundle exec rake default. It executes all tests and RuboCop for itself, and generates the documentation.
@koic koic force-pushed the koic:fix_false_positive_for_lint_suppressed_exception branch 2 times, most recently from b658abb to cd63601 May 23, 2020
@koic koic force-pushed the koic:fix_false_positive_for_lint_suppressed_exception branch from cd63601 to 4490b67 May 24, 2020
@marcandre
Copy link
Contributor

marcandre commented May 24, 2020

Looking forward to this 🎉
Can you make sure that inline comments are also ok? (See #7999) E.g.:

def foo
  bar
rescue # ignore
end
@koic
Copy link
Member Author

koic commented May 24, 2020

Certainly! Also the following code seems to be able to do the same.

begin
  bar
rescue # ignore
end

I think that these cases can be extended separately from this PR.

@koic koic force-pushed the koic:fix_false_positive_for_lint_suppressed_exception branch 3 times, most recently from ccee4f3 to b018a63 May 24, 2020
This PR fixes a false positive for `Lint/SuppressedException` when
empty rescue with comment in `def`.

```console
% cat example.rb
def foo
  do_something
rescue
  # noop
end

% bundle exec rubocop --only Lint/SuppressedException
(snip)

Inspecting 1 file
W

Offenses:

example.rb:3:1: W: Lint/SuppressedException: Do not suppress exceptions.
rescue
^^^^^^

1 file inspected, 1 offense detected
```

The above code should not be warned because `AllowComments: true` by defualt.
@koic koic force-pushed the koic:fix_false_positive_for_lint_suppressed_exception branch from b018a63 to b5d9ae1 May 24, 2020
@koic koic merged commit 8a383ac into rubocop-hq:master May 25, 2020
26 checks passed
26 checks passed
windows 2.4
Details
windows 2.5
Details
windows 2.6
Details
windows 2.7
Details
windows mingw
Details
ci/circleci: cc-setup Your tests passed on CircleCI!
Details
ci/circleci: cc-upload-coverage Your tests passed on CircleCI!
Details
ci/circleci: documentation-checks Your tests passed on CircleCI!
Details
ci/circleci: jruby-9.2-ascii_spec Your tests passed on CircleCI!
Details
ci/circleci: jruby-9.2-rubocop Your tests passed on CircleCI!
Details
ci/circleci: jruby-9.2-spec Your tests passed on CircleCI!
Details
ci/circleci: ruby-2.4-ascii_spec Your tests passed on CircleCI!
Details
ci/circleci: ruby-2.4-rubocop Your tests passed on CircleCI!
Details
ci/circleci: ruby-2.4-spec Your tests passed on CircleCI!
Details
ci/circleci: ruby-2.5-ascii_spec Your tests passed on CircleCI!
Details
ci/circleci: ruby-2.5-rubocop Your tests passed on CircleCI!
Details
ci/circleci: ruby-2.5-spec Your tests passed on CircleCI!
Details
ci/circleci: ruby-2.6-ascii_spec Your tests passed on CircleCI!
Details
ci/circleci: ruby-2.6-rubocop Your tests passed on CircleCI!
Details
ci/circleci: ruby-2.6-spec Your tests passed on CircleCI!
Details
ci/circleci: ruby-2.7-ascii_spec Your tests passed on CircleCI!
Details
ci/circleci: ruby-2.7-rubocop Your tests passed on CircleCI!
Details
ci/circleci: ruby-2.7-spec Your tests passed on CircleCI!
Details
ci/circleci: ruby-head-ascii_spec Your tests passed on CircleCI!
Details
ci/circleci: ruby-head-rubocop Your tests passed on CircleCI!
Details
ci/circleci: ruby-head-spec Your tests passed on CircleCI!
Details
@koic koic deleted the koic:fix_false_positive_for_lint_suppressed_exception branch May 25, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

3 participants
You can’t perform that action at this time.