mirror of
https://github.com/ruby/ruby.git
synced 2025-08-23 04:55:21 +02:00
![]() Given this code
```ruby
begin
raise '42'
rescue => A[]
end
```
Prism fails with this backtrace
```
Error: test_unparser/corpus/literal/rescue.txt(Prism::ParserTest): NoMethodError: undefined method `arguments' for nil
prism/lib/prism/translation/parser/compiler.rb:1055:in `visit_index_target_node'
prism/lib/prism/node.rb:9636:in `accept'
prism/lib/prism/compiler.rb:30:in `visit'
prism/lib/prism/translation/parser/compiler.rb:218:in `visit_begin_node'
```
Seems like
```diff
- visit_all(node.arguments.arguments),
+ visit_all(node.arguments&.arguments || []),
```
fixes the problem.
|
||
---|---|---|
.. | ||
api | ||
encoding | ||
errors | ||
fixtures | ||
result | ||
ruby | ||
bom_test.rb | ||
errors_test.rb | ||
fixtures_test.rb | ||
fuzzer_test.rb | ||
heredoc_dedent_test.rb | ||
lex_test.rb | ||
library_symbols_test.rb | ||
locals_test.rb | ||
magic_comment_test.rb | ||
newline_offsets_test.rb | ||
newline_test.rb | ||
onigmo_test.rb | ||
percent_delimiter_string_test.rb | ||
ractor_test.rb | ||
regexp_test.rb | ||
snippets_test.rb | ||
test_helper.rb | ||
unescape_test.rb | ||
version_test.rb |