I believe I can make a solid case for this as an accidental feature rather
than a bug. Should I open a new ticket to do so?


On Wed, Jan 1, 2014 at 1:28 AM, nobu (Nobuyoshi Nakada)
<nobu / ruby-lang.org>wrote:

>
> Issue #9335 has been updated by nobu (Nobuyoshi Nakada).
>
> Status changed from Open to Rejected
>
> It had been allowed on 1.9.3 accidentally.
> In other words, it's a fixed bug.
>
> ----------------------------------------
> Bug #9335: dynamic rescue regression in Ruby 2.1
> https://bugs.ruby-lang.org/issues/9335#change-44005
>
> Author: fdr (Daniel Farina)
> Status: Rejected
> Priority: Normal
> Assignee:
> Category:
> Target version:
> ruby -v: ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-linux]
> Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN
>
>
> The following type of rescue block appears broken:
>
> begin
>   raise 'hello'
> rescue ->(e) { true }
> end
>
> In Ruby 1.9.3p484, this exits with a normal exit code and no output.
>
> On Ruby 2.1.0, it instead yields:
>
> /tmp/badin21.rb:4:in `rescue in <main>': class or module required for
> rescue clause (TypeError)
>         from /tmp/badin21.rb:2:in `<main>'
>
> Some research suggests this is a regression to the pre-1.9.2 behavior, and
> there doesn't seem to be any direct mention about this change in the
> changelog of 2.1 nor 2.0.
>
>
> --
> http://bugs.ruby-lang.org/
>



-- 
Avdi Grimm
http://avdi.org

I only check email twice a day. to reach me sooner, go to
http://awayfind.com/avdi