Class.new(Class)ができてしまう件

RHGの逆襲 第3回に向けて、ruby-trunk の class.c を読んでて気がついたのですが、クラス定義の時superclassにClassを指定するとTypeErrorが発生するのに、Class.newメソッドを使って無名クラスを生成する時にはこの制限が回避されてるんですよね。

class A < Class
end
TypeError: can't make subclass of Class
        from (irb):1
        from irb-trunk:12:in `
' A = Class.new(Class) => A A.superclass => Class

だけどやっぱり継承関係がおかしくなってるらしくて、このようにして作ったクラス(A)はインスタンスを作れないんですよね。

A.new
TypeError: wrong instance allocation
        from (irb):5:in `new'
        from (irb):5
        from irb-trunk:12:in `
'

もしかしたら何か裏技的な使い道があるのかもしれないけど。
というわけで ruby-dev に投げてみたんですが、埋もれちゃってますね。

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/34114