From: matz@... Date: 2015-08-04T07:24:52+00:00 Subject: [ruby-core:70238] [Ruby trunk - Feature #11414] Relax ID table ordering Issue #11414 has been updated by Yukihiro Matsumoto. Assignee changed from Yukihiro Matsumoto to Koichi Sasada Ordering is not included in the specified behavior. Matz. ---------------------------------------- Feature #11414: Relax ID table ordering https://bugs.ruby-lang.org/issues/11414#change-53666 * Author: Koichi Sasada * Status: Open * Priority: Normal * Assignee: Koichi Sasada ---------------------------------------- Can we relax ordering rule for ID table such as method table, ivar table, and so on? I believe nobody care about method table ordering, ivar table ordering. # background From Ruby 1.9, Hash objects have order (insertion order). This change was introduced by changing st data structure. In Ruby interpreter, st is also used by many purpose. For example, there are many tables which have ID keys, for method tables, ivar tables and so on. We can make special table to optimize such ID keys table. funny_falcon already proposed new data structure. https://bugs.ruby-lang.org/issues/6962 Before introducing this patch, please consider about ordering. BTW, here is my implementation of special ID keys table used by method table. https://github.com/ruby/ruby/compare/trunk...ko1:mtbl I will make another ticket for implementation. But please consider about ordering. We have one test depends on method table ordering. ```ruby [ 72/143] TestModule#test_method_added = 0.00 s 1) Failure: TestModule#test_method_added [.../test/ruby/test_module.rb:1120]: <[:f, :g, :a]> expected but was <[:f, :a, :g]>. ``` -- https://bugs.ruby-lang.org/