Skip to content

Fix Ruby warnings #4011

Description

@bkuhlmann

Why

Hello. 👋

I'm seeing the following warnings pop up when running specs, jumping into the IRB console, etc:

irb(main):001> /usr/local/bundle/gems/prism-1.9.0/lib/prism/visitor.rb:480: warning: the block passed to 'Prism::StringNode#each_child_node' defined at /usr/local/bundle/gems/prism-1.9.0/lib/prism/node.rb:18140 may be ignored
/usr/local/bundle/gems/prism-1.9.0/lib/prism/visitor.rb:595: warning: the block passed to 'Prism::NilNode#each_child_node' defined at /usr/local/bundle/gems/prism-1.9.0/lib/prism/node.rb:14497 may be ignored
/usr/local/bundle/gems/prism-1.9.0/lib/prism/visitor.rb:265: warning: the block passed to 'Prism::ConstantReadNode#each_child_node' defined at /usr/local/bundle/gems/prism-1.9.0/lib/prism/node.rb:6015 may be ignored
/usr/local/bundle/gems/prism-1.9.0/lib/prism/visitor.rb:770: warning: the block passed to 'Prism::SymbolNode#each_child_node' defined at /usr/local/bundle/gems/prism-1.9.0/lib/prism/node.rb:18481 may be ignored
/usr/local/bundle/gems/prism-1.9.0/lib/prism/visitor.rb:535: warning: the block passed to 'Prism::LocalVariableReadNode#each_child_node' defined at /usr/local/bundle/gems/prism-1.9.0/lib/prism/node.rb:12910 may be ignored

How

This seemed to crop up with Prism 1.9.0 and can be seen when warnings are enabled (i.e. export RUBYOPT="-W:deprecated -W:performance -W:strict_unused_block"). Resolving these warnings, especially, clean up the verbosity of IRB output each time you try to evaluate Ruby code.

Notes

  • macOS: macOS 26.3.1
  • Ruby: ruby 4.0.2 (2026-03-17 revision d3da9fec82) +YJIT +PRISM [arm64-darwin25.3.0]
  • Prism: 1.9.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions