From: "masukomi@... (kay rhodes)" Date: 2022-01-13T16:05:32+00:00 Subject: [ruby-core:107099] [Ruby master Bug#18486] Enumerable#group_by ordering appears to have changed and doesn't match docs. Issue #18486 has been reported by masukomi@masukomi.org (kay rhodes). ---------------------------------------- Bug #18486: Enumerable#group_by ordering appears to have changed and doesn't match docs. https://bugs.ruby-lang.org/issues/18486 * Author: masukomi@masukomi.org (kay rhodes) * Status: Open * Priority: Normal * ruby -v: 3.0.2 * Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN ---------------------------------------- The documentation for Enumerable#group_by suggests the following: (1..6).group_by { |i| i%3 } #=> {0=>[3, 6], 1=>[1, 4], 2=>[2, 5]} it actually produces this (same values different order). Tested in 2.6.3 and 3.0.2 (1..6).group_by { |i| i%3 } #=> {1=>[1, 4], 2=>[2, 5], 0=>[3, 6]} as hash table ordering is something people depend on these days I wonder if the reordering of the keys may be more than just a minor documentation bug. I noticed this in 2.6.3. Assuming the docs matched reality when written this implies we've been living with this for a while. I don't know how long before that this actually changed. -- https://bugs.ruby-lang.org/ Unsubscribe: