Actions
Bug #9376
closedPassing do/end block inside decorated method fails, while passing {} block works.
Description
=begin
Since method (({def})) returns the symbol in 2.1, it opens the door for a decorator pattern in which the method def is the argument to a method.
This currently works, unless the method happens to call another method and pass it a (({do/end})) block.
However, using (({{}})) instead causes no syntax error.
Here is the code to reproduce:
def foo(meth); end
x = Object.new
foo def bar(arg)
x.tap { } #=> (no problem here)
x.tap do end #=> syntax error, unexpected keyword_do_block, expecting keyword_end (SyntaxError)
end
=end
Actions
Like0
Like0Like0