You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
% ruby -e '{key: :value} in key: value; p value'ruby 3.0.4p208 (2022-04-12 revision 3fa771dded) [x86_64-darwin19]-e:1: syntax error, unexpected label{key: :value} in key: value; p value
Ruby 3.1
Ditto:
% ruby -ve '{key: :value} in key: value; p value'ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-darwin19]:value
But the parser gem raises the following error:
% ruby-parse -e '{key: :value} in key: value'Failed on: (fragment:0)/Users/koic/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/parser-3.1.2.0/lib/parser/variables_stack.rb:32:in `declared?': undefined method `include?' for nil:NilClass (NoMethodError) @stack.last.include?(name.to_sym) ^^^^^^^^^ from /Users/koic/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/parser-3.1.2.0/lib/parser/builders/default.rb:1830:in `check_duplicate_pattern_key' from /Users/koic/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/parser-3.1.2.0/lib/parser/builders/default.rb:1640:in `match_pair' from /Users/koic/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/parser-3.1.2.0/lib/parser/ruby31.rb:7109:in `_reduce_518' from (eval):3:in `_racc_do_parse_c' from (eval):3:in `do_parse' from /Users/koic/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/parser-3.1.2.0/lib/parser/base.rb:190:in `parse' from /Users/koic/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/parser-3.1.2.0/lib/parser/runner/ruby_parse.rb:141:in `process' from /Users/koic/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/parser-3.1.2.0/lib/parser/runner.rb:254:in `process_buffer' from /Users/koic/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/parser-3.1.2.0/lib/parser/runner.rb:231:in `block in process_fragments' from /Users/koic/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/parser-3.1.2.0/lib/parser/runner.rb:225:in `each' from /Users/koic/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/parser-3.1.2.0/lib/parser/runner.rb:225:in `each_with_index' from /Users/koic/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/parser-3.1.2.0/lib/parser/runner.rb:225:in `process_fragments' from /Users/koic/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/parser-3.1.2.0/lib/parser/runner.rb:215:in `block in process_all_input' from /Users/koic/.rbenv/versions/3.1.2/lib/ruby/3.1.0/benchmark.rb:296:in `measure' from /Users/koic/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/parser-3.1.2.0/lib/parser/runner.rb:214:in `process_all_input' from /Users/koic/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/parser-3.1.2.0/lib/parser/runner/ruby_parse.rb:137:in `process_all_input' from /Users/koic/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/parser-3.1.2.0/lib/parser/runner.rb:35:in `execute' from /Users/koic/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/parser-3.1.2.0/lib/parser/runner.rb:13:in `go' from /Users/koic/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/parser-3.1.2.0/bin/ruby-parse:7:in `<top (required)>' from /Users/koic/.rbenv/versions/3.1.2/bin/ruby-parse:25:in `load' from /Users/koic/.rbenv/versions/3.1.2/bin/ruby-parse:25:in `<main>'
This is a valid syntax from Ruby 3.1.
Ruby 3.0
Both operands are hash literal:
Ruby 3.1
Ditto:
But the parser gem raises the following error:
cf. rubocop/rubocop#10773
The text was updated successfully, but these errors were encountered: