Given:

    class C
      def self.m; end
    end
    class D < C; end

the superclass of the singleton class of D is the singleton class of C. However

    (class << D; self; end).instance_methods(false)

includes m, both in 1.8 and 1.9. Is that intentional or is it a bug?