In JRuby we have added an extension that provides a "subclasses" method 
on Class:

require 'jruby/core_ext'
p Numeric.subclasses # => [Integer, Float]

Originally this was not an exposed capability, and was just used to 
provide the functionality of ObjectSpace.each_object(Class) without 
actually having ObjectSpace. But each_object(Class) walks all classes, 
when most cases want a specific subset of classes (like test/unit 
looking for TestCase subclasses). So it seems like Class#subclasses is a 
needed feature.

What do you all think of this feature? I think it should be considered 
for adding to Ruby proper. Shall I submit something in Redmine for this? 
Any thoughts on correct behavior?

The move to discuss and possibly add this now is motivated by the ugly 
subclasses_of method in Rails, which uses ObjectSpace and 
singleton/metaclass tricks to speed up the search for a specific set of 
subclasses. The fast version of that logic does not work in JRuby 
without ObjectSpace enabled.

- Charlie