【一人 bugs.ruby Advent Calendar 2021】[Feature #17743] Show argument types in backtrace【19日目】

一人 bugs.ruby Advent Calendar 2021 19日目の記事になります。
今日はバックトレースに引数情報も追加する話です。

[Feature #17743] Show argument types in backtrace

バックトレースに引数情報も追加する提案です。
例えば以下のようなコードを実行すると

def say_hi(person)
  puts message(person)
end

def message(person)
  "hi: #{person.name}"
end

say_hi(nil)

以下のようなバックトレースが出力されますが、

hi.rb:6:in `message': undefined method `name' for nil:NilClass (NoMethodError)
  from hi.rb:2:in `say_hi'
  from hi.rb:9:in `<main>'

これを以下のようにする提案になります。

hi.rb:6:in `message': undefined method `name' for nil:NilClass (NoMethodError)
    from hi.rb:2:in `say_hi' called with NilClass
    from hi.rb:9:in `<main>' called with NilClass

どのような表記にするのか(クラスだけ?値は必要がない?複数の引数の場合は?)やパフォーマンス的な懸念点がないか議論されています。
デバッグ情報としては全ての情報が表示されているとよいのですが、普段遣いで全部表示されてもノイズが多そうなのでトレードオフがむずかしそうですねえ。