🦔
[Bug #20788] Ruby 3.4-dev + prism でマイナス行の警告が出力されるバグ報告
[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
- これは
parse.y
だと再現しないみたいですね - 最新の開発版の Ruby 3.4 だと行数がマイナスの警告は出力されないように対応されたみたいです
Discussion