From: Minero Aoki Date: 2004-12-09T01:52:16+09:00 Subject: [ruby-dev:25134] Set/test_eq failed on Tru64UNIX 青木です。 Tru64UNIX + ccc の ruby で Set のテストが失敗しました。 1) Failure: test_eq(TC_Set) [/usr/local/pkg/ruby-ccc/lib/ruby/1.9/set.rb:1056]: <#}>}>> expected but was <#}>, "a", "b"}>>. 調べてみると、以下のように set.clone を左右のどちらに 置くかで結果が違います。 tunami:~ % cat t require 'set' x = Class.new(Set)['a', 'b'] y = Set['a', 'b', x] x.add x.clone p y == y p y == y.clone p y.clone == y p y.clone == y.clone tunami:~ % ruby -v t ruby 1.9.0 (2004-12-08) [alphaev6-osf5.1b] true false true true ちなみに、assert_equal の前に set2.instance_eval { @hash.rehash } を置くか、Set#initialize_copy で orig.instance_eval { @hash.rehash } を追加すると成功するようになりました。 ------------------------------------------------------------------- 青木峰郎