Actions
Bug #11016
closedmethod calls without parenthesis makes SyntaxError when DVAR exists
Bug #11016:
method calls without parenthesis makes SyntaxError when DVAR exists
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.3.0dev (2015-03-30 trunk 50121) [x86_64-darwin14]
Description
It seems like the following situation makes SyntaxError
- Try to call method which same name of local variable exists, without parenthesis
- Argument part contains colon (':')
All the following test cases contain empty method definition, but it's not required (if you omit it, the expected result is NoMethodError instead of SyntaxError)
ng_assoc.rb¶
ruby 2.3.0dev (2015-03-30 trunk 50121) [x86_64-darwin14]
ng_assoc.rb:3: warning: `:' after local variable or literal is interpreted as binary operator
ng_assoc.rb:3: warning: even though it seems like symbol literal
ng_assoc.rb:3: warning: possibly useless use of a variable in void context
ng_assoc.rb:3: syntax error, unexpected ':', expecting end-of-input
var :a => :b
^
ng_assoc19.rb¶
ruby 2.3.0dev (2015-03-30 trunk 50121) [x86_64-darwin14]
ng_assoc19.rb:3: syntax error, unexpected ':', expecting end-of-input
var a: :b
^
ng_assoc19_strvalue.rb¶
ruby 2.3.0dev (2015-03-30 trunk 50121) [x86_64-darwin14]
ng_assoc19_strvalue.rb:4: syntax error, unexpected ':', expecting end-of-input
var a: 2
^
ng_sym.rb¶
ruby 2.3.0dev (2015-03-30 trunk 50121) [x86_64-darwin14]
ng_sym.rb:3: warning: `:' after local variable or literal is interpreted as binary operator
ng_sym.rb:3: warning: even though it seems like symbol literal
ng_sym.rb:3: warning: possibly useless use of a variable in void context
ng_sym.rb:3: syntax error, unexpected ':', expecting end-of-input
var :sym
^
ok_assoc19_paren.rb¶
ok_assoc_paren.rb¶
ok_different_name.rb¶
ruby 2.3.0dev (2015-03-30 trunk 50121) [x86_64-darwin14]
ok_different_name.rb:2: warning: assigned but unused variable - var2
ok_string.rb¶
This may be another issue, but I also surprised to the following result.
Actions