Actions
Bug #7615
closedassignment to context variable changes the precedence order of function call with followed by ' (' (whitespace-bracket)
Description
this is similar to http://bugs.ruby-lang.org/issues/1801 but it wasn't pointed out then that ruby will use two different parsings at different times
note that in this code a
and b
have the same assignment code but are assigned different values
code:
def foo(x); 99; end
a = foo (44) / 11
foo = 99999999
b = foo (44) / 11
puts "a: #{a} b: #{b}" #output of "a: 99 b: 9"
The output of ruby_parser is:
s(:block,
s(:defn, :foo, s(:args, :x), s(:lit, 99))
s(:lasgn, :a, s(:call, nil, :foo, s(:call, s(:lit, 44), :/, s(:lit, 11)))),
s(:lasgn, :foo, s(:lit, 999999999)),
s(:lasgn, :b, s(:call, s(:call, nil, :foo, s(:lit, 44)), :/, s(:lit, 11)))
)
observed in 1.9.4 and 2.0.0-preview2, but does not occur in 1.8.7
Actions
Like0
Like0Like0Like0Like0Like0