From: naruse@... Date: 2017-03-19T14:29:26+00:00 Subject: [ruby-core:80233] [Ruby trunk Bug#13325] Block is not passed to Symbol proc if using refinements Issue #13325 has been updated by naruse (Yui NARUSE). Backport changed from 2.2: DONTNEED, 2.3: DONTNEED, 2.4: REQUIRED to 2.2: DONTNEED, 2.3: DONTNEED, 2.4: DONE ruby_2_4 r58022 merged revision(s) 58015. ---------------------------------------- Bug #13325: Block is not passed to Symbol proc if using refinements https://bugs.ruby-lang.org/issues/13325#change-63670 * Author: nobu (Nobuyoshi Nakada) * Status: Closed * Priority: Normal * Assignee: * Target version: * ruby -v: * Backport: 2.2: DONTNEED, 2.3: DONTNEED, 2.4: DONE ---------------------------------------- The following code raises a `LocalJumpError` at the last line on 2.4 and trunk. 2.3 and earlier work fine. ```ruby module M refine String do # or any class end end class C def call(a, x, &b) b.call(a, &x) end end o = C.new x = ->(z){p z} o.call(42, x, &:tap) #=> 42 using M o.call(42, x, &:tap) #=> LocalJumpError ``` -- https://bugs.ruby-lang.org/ Unsubscribe: