Issue #1017 has been updated by Austin Ziegler.


They aren't actually supposed to work the same. do/end and {/} differ in binding precedence. Your code is the equivalent of:

  save_block(:say_hello) do
    puts "hello!"
  end

  save_block(:say_hello {
    puts "hello!"
  })

That's the difference between the two types of block delimiters. Not new, not a bug.
----------------------------------------
http://redmine.ruby-lang.org/issues/show/1017

----------------------------------------
http://redmine.ruby-lang.org