From: "lgierth (Lars Gierth)" Date: 2012-07-29T06:33:56+09:00 Subject: [ruby-core:46844] [ruby-trunk - Bug #2729] `unexpected break' occurs when a proc is called in ensure Issue #2729 has been updated by lgierth (Lars Gierth). #5234 has been backported to 1.9.3 at least. ---------------------------------------- Bug #2729: `unexpected break' occurs when a proc is called in ensure https://bugs.ruby-lang.org/issues/2729#change-28520 Author: nobu (Nobuyoshi Nakada) Status: Closed Priority: Normal Assignee: ko1 (Koichi Sasada) Category: core Target version: 1.9.3 ruby -v: - =begin Reproducing code: class Bug include Enumerable def each begin yield :foo ensure proc {}.call end end end e = Bug.new p e.detect{true} # => :foo p e.any?{true} # => true p e.all?{false} # => false p e.include?(:foo) # => true All work expectedly if no Proc#call, but all occurs `unexpected break' with it. =end -- http://bugs.ruby-lang.org/