From: Paolo Nusco Perrotta Date: 2007-04-17T06:55:08+09:00 Subject: Superclass of eigenclass in 1.8.6 Test script: class Object # good old eigenclass accessor def eigenclass; class << self; self; end; end end class A; end class B < A; end b = B.new p "super of eigen of b: #{b.eigenclass.superclass}" p "super of eigen of B: #{B.eigenclass.superclass}" p "super of eigen of A: #{A.eigenclass.superclass}" Ruby 1.8.2 and Ruby 1.9 give the same result: MacNusco:/usr/bin nusco$ ruby -v /strange.rb ruby 1.8.2 (2004-12-25) [universal-darwin8.0] "super of eigen of b: B" "super of eigen of B: #" "super of eigen of A: #" This is what I expected, and consistent with the way method lookup works for singleton methods in both objects and classes. On the other hand, Ruby 1.8.5 and 1.8.6 surprised me: MacNusco:/ nusco$ ruby -v /strange.rb ruby 1.8.6 (2007-03-13 patchlevel 0) [i686-darwin8.9.1] "super of eigen of b: #" "super of eigen of B: #" "super of eigen of A: #" What the heck? Paolo Perrotta Bologna, Italy