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 an infinite loop error for Style/EmptyMethod #8375

Merged
merged 1 commit into from Jul 20, 2020

Commits on Jul 20, 2020

  1. Fix an infinite loop error for Style/EmptyMethod

    This PR fixes the following infinite loop error for `Style/EmptyMethod`.
    
    ```ruby
    % cat example.rb
    def foo(arg
        ); end
    ```
    
    ## Before
    
    The following error occurs without auto-correction.
    
    ```console
    % bundle exec rubocop --only Style/EmptyMethod -a example.rb
    (snip)
    
    Offenses:
    
    example.rb:1:1: C: [Corrected] Style/EmptyMethod: Put empty method
    definitions on a single line.
    def foo(arg ...
    ^^^^^^^^^^^^
    
    0 files inspected, 1 offense detected, 1 offense corrected
    Infinite loop detected in
    /Users/koic/src/github.com/koic/rubocop-issues/empty_method/example.rb.
    /Users/koic/src/github.com/rubocop-hq/rubocop/lib/rubocop/runner.rb:288:in `check_for_infinite_loop'
    /Users/koic/src/github.com/rubocop-hq/rubocop/lib/rubocop/runner.rb:271:in `block in iterate_until_no_changes'
    /Users/koic/src/github.com/rubocop-hq/rubocop/lib/rubocop/runner.rb:270:in `loop'
    /Users/koic/src/github.com/rubocop-hq/rubocop/lib/rubocop/runner.rb:270:in `iterate_until_no_changes'
    /Users/koic/src/github.com/rubocop-hq/rubocop/lib/rubocop/runner.rb:241:in `do_inspection_loop'
    (snip)
    
    % cat example.rb
    def foo(arg
        ); end
    ```
    
    ## After
    
    Auto-corrects without any error.
    
    ```console
    % bundle exec rubocop --only Style/EmptyMethod -a example.rb
    (snip)
    
    Offenses:
    
    example.rb:1:1: C: [Corrected] Style/EmptyMethod: Put empty method
    definitions on a single line.
    def foo(arg ...
    ^^^^^^^^^^^^
    
    1 file inspected, 1 offense detected, 1 offense corrected
    
    % cat example.rb
    def foo(arg); end
    ```
    koic committed Jul 20, 2020
    Copy the full SHA
    9cf9ceb View commit details
    Browse the repository at this point in the history