Project

General

Profile

Bug #14069

Document order of elements in Set

Added by abotalov (Andrei Botalov) about 2 years ago. Updated 3 months ago.

Status:
Rejected
Priority:
Normal
Target version:
-
ruby -v:
2.4
[ruby-core:83614]

Description

Hash enumerates values in the insertion order.

Set is built on Hash so it does the same.
However, this is currently believed to be a not documented implementation detail. See:
https://stackoverflow.com/a/14468621/841064
https://stackoverflow.com/questions/10361250/does-set-in-ruby-always-preserve-insertion-order#comment13351258_10361275
https://spin.atomicobject.com/2012/09/04/when-is-a-set-better-than-an-array-in-ruby/

I think it would be better to explicitly document that Set class enumerates keys in the insertion order.

History

Updated by jwmittag (Jörg W Mittag) almost 2 years ago

Is that actually guaranteed by the specification? Can you point to any specification or documentation or official statement by the core team that supports your assertion that sets are insertion-ordered?

Updated by jeremyevans0 (Jeremy Evans) 6 months ago

  • Assignee set to knu (Akinori MUSHA)
  • Status changed from Open to Assigned

I believe the fact that sets are currently insertion ordered due to the use of hash is an implementation detail, and we shouldn't document it.

#3

Updated by jeremyevans0 (Jeremy Evans) 3 months ago

  • Status changed from Assigned to Rejected

Also available in: Atom PDF