Issue #7343 has been reported by udzura (Uchio KONDO).

----------------------------------------
Bug #7343: Enumerator::Lazy seems to nest herself infinitely
https://bugs.ruby-lang.org/issues/7343

Author: udzura (Uchio KONDO)
Status: Open
Priority: Low
Assignee: 
Category: 
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-11-13) [x86_64-darwin11.4.2]


Hello, Ruby dev team.

I tried Ruby 2.0 trunk, and found Enumerator::Lazy a bit weird.

    > [1, 2, 3].cycle.lazy.take 5
    # => #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator: [1, 2, 3]:cycle>>:take(5)> 

    > [1, 2, 3].cycle.lazy.take_while {|i| i < 3 }.lazy.take(2)
    # => #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator: [1, 2, 3]:cycle>>:take_while>:take(2)>

    > [1, 2, 3].cycle.lazy.take_while {|i| i < 3 }.lazy.take(2).lazy.take(3).lazy
    # => #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator: [1, 2, 3]:cycle>>:take_while>:take(2)>:take(3)> 

Is this type of infinite nesting desirable?

Thank you,
Uchio KONDO<udzura / udzura.jp>


-- 
http://bugs.ruby-lang.org/