From: naruse@... Date: 2017-03-11T14:25:59+00:00 Subject: [ruby-core:80020] [Ruby trunk Bug#13090] Cannot use return statement in lambdas using instance_eval (MRI 2.4) Issue #13090 has been updated by 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 r57847 merged revision(s) 57240. ---------------------------------------- Bug #13090: Cannot use return statement in lambdas using instance_eval (MRI 2.4) https://bugs.ruby-lang.org/issues/13090#change-63441 * Author: Nikita Shilnikov * Status: Closed * Priority: Normal * Assignee: * Target version: * ruby -v: ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux] * Backport: 2.2: DONTNEED, 2.3: DONTNEED, 2.4: DONE ---------------------------------------- Hello, I'm pretty sure I've found a bug after running specs for dry-initializer gem on MRI 2.4. I managed to find the minimal code to reproduce the issue: MRI 2.3.3 ``` $ ruby -e "instance_eval(&lambda { |_| return })" $ ``` MRI 2.4.0-p0 ``` $ ruby -e "instance_eval(&lambda { |_| return })" -e:1:in `block in
': unexpected return (LocalJumpError) from -e:1:in `instance_eval' from -e:1:in `
' ``` I _think_ lambda has been converted to an ordinary proc, but I didn't check it. Best regards, Nikita -- https://bugs.ruby-lang.org/ Unsubscribe: