Issue #6354 has been updated by ko1 (Koichi Sasada). Target version set to next minor ---------------------------------------- Feature #6354: Remove escape (break/return/redo/next support) from class/module scope https://bugs.ruby-lang.org/issues/6354#change-31736 Author: ko1 (Koichi Sasada) Status: Assigned Priority: Normal Assignee: matz (Yukihiro Matsumoto) Category: Target version: next minor Let's remove global escape (break/return/redo/next support) from class/module scope. Yes, it introduces incompatibility. However, anyone use it? I think the following examples are evil (difficult to understand). # examples: 1.times{ class C break # break from 1.times end } 1.times{ class C module M break # break from 1.times end end } 3.times{|n| p n # repeat print 0 class C redo end } ->{ class C return return from outer lambda block end }.call ->{ proc{ class C return # return from outer lambda (not proc) block end }.call }.call etc, etc. -- http://bugs.ruby-lang.org/