Project

General

Profile

Actions

Bug #20788

closed

Prism issues unused variable warnings for negative line numbers

Added by jeremyevans0 (Jeremy Evans) 30 days ago. Updated 28 days ago.

Status:
Closed
Target version:
-
[ruby-core:119485]

Description

parse.y does not issue unused variable warnings for negative line numbers. However, prism does issue such warnings.

Example code:

Object.class_eval(<<END, nil, -2)
def a(locals)
  foo = locals[:foo]
  2
end
END

Output:

$ run_ruby -v --parser=prism --disable-gems t/t82.rb    
ruby 3.4.0dev (2024-10-08T22:14:44Z master 3fc1495c30) +PRISM [x86_64-openbsd7.6]
(eval at t/t82.rb:1):-1: warning: assigned but unused variable - foo

$ run_ruby -v --parser=parse.y --disable-gems t/t82.rb  
ruby 3.4.0dev (2024-10-08T22:14:44Z master 3fc1495c30) [x86_64-openbsd7.6]

This results in spurious verbose-mode warnings in applications using tilt, the template library used by most non-Rails web frameworks (Sinatra, Roda, Hanami, Cuba, Camping, etc.).

Actions #1

Updated by kddnewton (Kevin Newton) 28 days ago

  • Status changed from Open to Closed

Applied in changeset git|b5ecb03ae40e01ffe57b4dc409f8c96b15e32b12.


[ruby/prism] Do not warn for unused variables on negative lines

Fixes [Bug #20788]

https://github.com/ruby/prism/commit/27e91f21af

Actions

Also available in: Atom PDF

Like0
Like0