Clear current argument name at empty block argument [Bug #16343]
This commit is contained in:
parent
4a30fabfcf
commit
ed90ec3e0d
1
parse.y
1
parse.y
@ -3455,6 +3455,7 @@ block_param_def : '|' opt_bv_decl '|'
|
||||
}
|
||||
| tOROP
|
||||
{
|
||||
p->cur_arg = 0;
|
||||
p->max_numparam = ORDINAL_PARAM;
|
||||
/*%%%*/
|
||||
$$ = 0;
|
||||
|
@ -241,6 +241,16 @@ class TestSyntax < Test::Unit::TestCase
|
||||
o.instance_eval("def foo(var: bar {|var| var}) var end")
|
||||
end
|
||||
|
||||
o = Object.new
|
||||
assert_warn("") do
|
||||
o.instance_eval("def foo(var: bar {| | var}) var end")
|
||||
end
|
||||
|
||||
o = Object.new
|
||||
assert_warn("") do
|
||||
o.instance_eval("def foo(var: bar {|| var}) var end")
|
||||
end
|
||||
|
||||
o = Object.new
|
||||
assert_warn("") do
|
||||
o.instance_eval("def foo(var: def bar(var) var; end) var end")
|
||||
@ -296,6 +306,16 @@ class TestSyntax < Test::Unit::TestCase
|
||||
o.instance_eval("def foo(var = bar {|var| var}) var end")
|
||||
end
|
||||
|
||||
o = Object.new
|
||||
assert_warn("") do
|
||||
o.instance_eval("def foo(var = bar {| | var}) var end")
|
||||
end
|
||||
|
||||
o = Object.new
|
||||
assert_warn("") do
|
||||
o.instance_eval("def foo(var = bar {|| var}) var end")
|
||||
end
|
||||
|
||||
o = Object.new
|
||||
assert_warn("") do
|
||||
o.instance_eval("def foo(var = def bar(var) var; end) var end")
|
||||
|
Loading…
x
Reference in New Issue
Block a user