>>>>> "R" == Robert Klemme <bob.news / gmx.net> writes:

R> Well, yes, that's what I concluded.  But why is that so?  What's the 
R> reasoning behind this?  After all, both singleton classes are just there for 
R> a single object although that happens to be a class instance.  This change 
R> might even break some code, I'm not sure.

 Well, I've tried one day to give a *STUPID* example

 Imagine that you have


   class Class
      def new(*args, &block)
         obj = allocate
         obj.send(:initialize, *args, &block)
         obj
      end
   end

   class Array
      def self.allocate
         # do some magic here to create the type array
      end
   end

 Now if you write

   class A < Array
   end

   A.new

 You want with `A.new' re-use the method ::allocate which is defined in the
 singleton class (Array). This mean that (A) must inherit from (Array)


Guy Decoux