[Bug #21338] 特定のメソッドで TracePoint で #block_given? がトリガーされなくなったというバグ報告

に公開

[Bug #21338] TracePoint Not Triggered for Kernel#block_given?

  • 一部のメソッドを呼び出したときに TracePointKernel#block_given? がトリガーされなくなったというバグ報告
@trace = []
# 呼び出されたイベントのメソッドを保存
TracePoint.new { @trace << _1.method_id }.enable { 42.times }

# Ruby 3.3 では block_given? が呼ばれるが 3.4 では呼ばれない
pp @trace.index(:block_given?)
# Ruby 3.3 => 4
# Ruby 3.4 => nil
GitHubで編集を提案

Discussion