🦔

[Bug #20788] Ruby 3.4-dev + prism でマイナス行の警告が出力されるバグ報告

2024/10/12に公開

[Bug #20788] Prism issues unused variable warnings for negative line numbers

  • Ruby 3.4-dev + prism で次のコードを実行したときに行数がマイナスの警告が出力される
Object.class_eval(<<END, nil, -2)
def a(locals)
  foo = locals[:foo]
  2
end
END
__END__
output:
(eval at test.rb:1):-1: warning: assigned but unused variable - foo
  • なぜマイナスの行数が表示されるのかというと class_eval でマイナスの行数を指定しているからですね
  • class_eval に渡す行数が 1 なら以下のようになります
Object.class_eval(<<END, nil, 1)
def a(locals)
  foo = locals[:foo]
  2
end
END
__END__
output:
  (eval at test.rb:1):2: warning: assigned but unused variable - foo
GitHubで編集を提案

Discussion