From: merch-redmine@... Date: 2019-10-02T15:14:18+00:00 Subject: [ruby-core:95190] [Ruby master Bug#16181] return from a proc in a module/class body returns out of script. Should be LJE. Issue #16181 has been updated by jeremyevans0 (Jeremy Evans). Status changed from Open to Closed Fixed by commit:ef697388becedf36966a2edcdcf88baca342b9e2. ---------------------------------------- Bug #16181: return from a proc in a module/class body returns out of script. Should be LJE. https://bugs.ruby-lang.org/issues/16181#change-81831 * Author: enebo (Thomas Enebo) * Status: Closed * Priority: Normal * Assignee: * Target version: * ruby -v: * Backport: 2.5: UNKNOWN, 2.6: UNKNOWN ---------------------------------------- return is not allowed from class/module body. But if we insert a return into a block then we can invoke the block then it returns all the way out of the script. This has to be accidental behavior doesn't it? I believe the case below should end up as a LocalJumpError: ``` class Foo proc { return }.call end puts "NEVER SEEN" ``` This behavior started some time in 2.5 (it used to be an LJE). -- https://bugs.ruby-lang.org/ Unsubscribe: