We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
I'm seeing a crash while running Rubocop on the following file:
module BodyBuilder class Rubocop def document_doe @user.document_doe.to_datetime.strftime("%Y-%m-%d") end end end
The backtrace of the crash is:
➜ Projects rubocop -d voyager.rb For /Users/rave/Projects: configuration from /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/config/default.yml Inspecting 1 file Scanning /Users/rave/Projects/voyager.rb An error occurred while Style/FormatStringToken cop was inspecting /Users/rave/Projects/voyager.rb:4:46. undefined method `[]' for nil:NilClass /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cop/utils/format_string.rb:48:in `initialize' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cop/utils/format_string.rb:112:in `new' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cop/utils/format_string.rb:112:in `block in parse' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cop/utils/format_string.rb:111:in `block in collect' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cop/utils/format_string.rb:111:in `block in each' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cop/utils/format_string.rb:111:in `block in each_with_block' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cop/utils/format_string.rb:111:in `scan' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cop/utils/format_string.rb:111:in `each_with_block' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cop/utils/format_string.rb:111:in `each' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cop/utils/format_string.rb:111:in `collect' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cop/utils/format_string.rb:111:in `parse' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cop/utils/format_string.rb:97:in `format_sequences' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cop/style/format_string_token.rb:106:in `token_ranges' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cop/style/format_string_token.rb:90:in `tokens' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cop/style/format_string_token.rb:47:in `on_str' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cop/commissioner.rb:57:in `block (2 levels) in trigger_responding_cops' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cop/commissioner.rb:136:in `with_cop_error_handling' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cop/commissioner.rb:56:in `block in trigger_responding_cops' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cop/commissioner.rb:55:in `each' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cop/commissioner.rb:55:in `trigger_responding_cops' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cop/commissioner.rb:32:in `on_str' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/ast/traversal.rb:114:in `block in on_send' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/ast/traversal.rb:111:in `each_with_index' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/ast/traversal.rb:111:in `on_send' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cop/commissioner.rb:33:in `on_send' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/ast/traversal.rb:107:in `on_def' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cop/commissioner.rb:33:in `on_def' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/ast/traversal.rb:99:in `on_class' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cop/commissioner.rb:33:in `on_class' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/ast/traversal.rb:157:in `on_while' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cop/commissioner.rb:33:in `on_module' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/ast/traversal.rb:14:in `walk' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cop/commissioner.rb:44:in `investigate' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cop/team.rb:124:in `investigate' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cop/team.rb:112:in `offenses' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cop/team.rb:44:in `inspect_file' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/runner.rb:296:in `inspect_file' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/runner.rb:244:in `block in do_inspection_loop' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/runner.rb:276:in `block in iterate_until_no_changes' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/runner.rb:269:in `loop' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/runner.rb:269:in `iterate_until_no_changes' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/runner.rb:240:in `do_inspection_loop' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/runner.rb:119:in `block in file_offenses' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/runner.rb:143:in `file_offense_cache' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/runner.rb:117:in `file_offenses' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/runner.rb:108:in `process_file' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/runner.rb:87:in `block in each_inspected_file' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/runner.rb:86:in `inject' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/runner.rb:86:in `each_inspected_file' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/runner.rb:73:in `inspect_files' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/runner.rb:39:in `run' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cli/command/execute_runner.rb:21:in `execute_runner' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cli/command/execute_runner.rb:13:in `run' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cli/command.rb:10:in `run' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cli/environment.rb:17:in `run' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cli.rb:65:in `run_command' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cli.rb:72:in `execute_runners' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/lib/rubocop/cli.rb:41:in `run' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/exe/rubocop:13:in `block in <top (required)>' /Users/rave/.rbenv/versions/truffleruby-dev/lib/mri/benchmark.rb:308:in `realtime' /Users/rave/.rbenv/versions/truffleruby-dev/lib/gems/gems/rubocop-0.79.0/exe/rubocop:12:in `<top (required)>' /Users/rave/.rbenv/versions/truffleruby-dev/bin/rubocop:23:in `load' /Users/rave/.rbenv/versions/truffleruby-dev/bin/rubocop:23:in `load' /Users/rave/.rbenv/versions/truffleruby-dev/bin/rubocop:23:in `<main>' C Offenses: voyager.rb:1:1: C: Style/FrozenStringLiteralComment: Missing magic comment # frozen_string_literal: true. module BodyBuilder ^ voyager.rb:2:3: C: Style/Documentation: Missing top-level class documentation comment. class Rubocop ^^^^^ voyager.rb:4:47: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols. @user.document_doe.to_datetime.strftime("%Y-%m-%d") ^^^^^^^^^^ 1 file inspected, 3 offenses detected 1 error occurred: An error occurred while Style/FormatStringToken cop was inspecting /Users/rave/Projects/voyager.rb:4:46. Errors are usually caused by RuboCop bugs. Please, report your problems to RuboCop's issue tracker. https://github.com/rubocop-hq/rubocop/issues Mention the following information in the issue report: 0.79.0 (using Parser 2.7.0.2, running on truffleruby 2.6.5 x86_64-darwin19) Finished in 16.316024991014274 seconds
My Truffleruby version is truffleruby 20.1.0-dev-c24c4074, like ruby 2.6.5, GraalVM CE Native [x86_64-darwin]. It works fine under MRI 2.6.5
truffleruby 20.1.0-dev-c24c4074, like ruby 2.6.5, GraalVM CE Native [x86_64-darwin]
The text was updated successfully, but these errors were encountered:
A minimal case:
"a".to_enum(:scan, /a/).map do puts "Regexp.last_match:`#{Regexp.last_match.inspect}`" end
Expected:
Regexp.last_match:`#<MatchData "a">`
Actual:
Regexp.last_match:`nil`
Sorry, something went wrong.
That sounds like a duplicate of #1484 then. Unfortunately that doesn't seem easy to fix.
Code in RuboCop: https://github.com/rubocop-hq/rubocop/blob/ca80c319272fe1d93575aae47b8b2fa17072395d/lib/rubocop/cop/utils/format_string.rb#L111-L115
I have created a PR in Rubocop to work around the issue in Truffleruby rubocop/rubocop#8602
RuboCop 0.90 has been released with that PR, I think we can close this, thanks @jaimerave!
jaimerave
No branches or pull requests
I'm seeing a crash while running Rubocop on the following file:
The backtrace of the crash is:
My Truffleruby version is
truffleruby 20.1.0-dev-c24c4074, like ruby 2.6.5, GraalVM CE Native [x86_64-darwin]
. It works fine under MRI 2.6.5The text was updated successfully, but these errors were encountered: