From: "marcandre (Marc-Andre Lafortune)" Date: 2012-11-08T03:48:30+09:00 Subject: [ruby-core:49057] [ruby-trunk - Bug #7298][Feedback] Behavior of Enumerator.new different between 1.9.3 and 2.0.0 Issue #7298 has been updated by marcandre (Marc-Andre Lafortune). Status changed from Open to Feedback Sorry, I am missing your point. There was no meaning to the form `Enumerator.new( obj ) { block }`; the block was completely ignored and there should have been a warning (like there is for Array.new, #index, #count, ...) What is the meaning of `{|y| i = 0; loop { y << (i+=1) } }` in your test? Do you think it does anything? ---------------------------------------- Bug #7298: Behavior of Enumerator.new different between 1.9.3 and 2.0.0 https://bugs.ruby-lang.org/issues/7298#change-32583 Author: ayumin (Ayumu AIZAWA) Status: Feedback Priority: Normal Assignee: marcandre (Marc-Andre Lafortune) Category: Target version: 2.0.0 ruby -v: ruby 2.0.0dev (2012-11-07 trunk 37528) [x86_64-darwin12.2.0] Under 1.9.3, when Enumerator.new was called with arguments and block, it return Enumerator object. But under trunk, it makes TypeError. $ ruby -v -e "p Enumerator.new([1,2,3]){|y|y.yield 4}" ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin11.4.2] # $ ./ruby -v -e "p Enumerator.new([1,2,3]){|y|y.yield 4}" ruby 2.0.0dev (2012-11-07 trunk 37528) [x86_64-darwin12.2.0] -e:1:in `initialize': can't convert Array into Integer (TypeError) from -e:1:in `new' from -e:1:in `
' -- http://bugs.ruby-lang.org/