From: nagachika00@... Date: 2018-07-02T08:30:42+00:00 Subject: [ruby-core:87741] [Ruby trunk Bug#14495] Enumerator::Lazy#uniq invalid state Issue #14495 has been updated by nagachika (Tomoyuki Chikanaga). Backport changed from 2.3: UNKNOWN, 2.4: REQUIRED, 2.5: REQUIRED to 2.3: UNKNOWN, 2.4: REQUIRED, 2.5: DONE ruby_2_5 r63824 merged revision(s) 62731,62735. ---------------------------------------- Bug #14495: Enumerator::Lazy#uniq invalid state https://bugs.ruby-lang.org/issues/14495#change-72762 * Author: chopraanmol1 (Anmol Chopra) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: ruby 2.5.0preview1 (2017-10-10 trunk 60153) [x86_64-linux] * Backport: 2.3: UNKNOWN, 2.4: REQUIRED, 2.5: DONE ---------------------------------------- Currently ~~~ ruby 2.5.0-preview1 :001 > arr = (0..100).lazy.uniq{|i| i % 10} => #:uniq> 2.5.0-preview1 :002 > arr.to_a => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 2.5.0-preview1 :003 > arr.to_a => [] ~~~ Expected ~~~ ruby 2.5.0-preview1 :001 > arr = (0..100).lazy.uniq{|i| i % 10} => #:uniq> 2.5.0-preview1 :002 > arr.to_a => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 2.5.0-preview1 :003 > arr.to_a => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] ~~~ Solution **Enumerator::Lazy#uniq**'s hash should be accessed from yielder memo -- https://bugs.ruby-lang.org/ Unsubscribe: