Project

General

Profile

Bug #8140

Incorrect warning: `+' after local variable is interpreted as binary operator

Added by glyn (Glyn Normington) over 6 years ago. Updated 5 months ago.

Status:
Closed
Priority:
Normal
Target version:
-
ruby -v:
ruby 1.9.3p374 (2013-01-15 revision 38858) [x86_64-darwin12.2.1]
[ruby-core:53609]

Description

The statement:

puts '' +''

generates an invalid warning when executed with "ruby -w" which (a) implies a syntactical ambiguity where there is none, and (b) refers to a "local variable" of which there are none.

Note that:

puts ''+''

and:

puts '' + ''

produce no warnings.


Files

parserbug.rb (293 Bytes) parserbug.rb Simple test to reproduce glyn (Glyn Normington), 03/22/2013 12:19 AM

History

Updated by jsc (Justin Collins) 12 months ago

glyn (Glyn Normington) wrote:

The statement:

puts '' +''

generates an invalid warning when executed with "ruby -w" which (a) implies a syntactical ambiguity where there is none, and (b) refers to a "local variable" of which there are none.

The message as of ruby-1.9.3-p551 was:

$ ruby -w
'' +''
-:1: warning: `+' after local variable is interpreted as binary operator
-:1: warning: even though it seems like unary operator

As of 2.1.10 (at least), the message now includes "or literal" to address point (b):

$ ruby -w
'' +''
-:1: warning: `+' after local variable or literal is interpreted as binary operator
-:1: warning: even though it seems like unary operator
#2

Updated by jeremyevans0 (Jeremy Evans) 5 months ago

  • Status changed from Open to Closed

Also available in: Atom PDF