Project

General

Profile

Bug #11740 ยป objspace_expose_intern_meta.rb

Eregon (Benoit Daloze), 11/25/2015 10:24 AM

 
# Some class
klass = Class.new(Array)

# The metaclass of +klass+ should handle #bla since it should inherit methods from meta:meta:Array
def (Array.singleton_class).bla; :bla; end

p klass
p klass.ancestors

hidden = ObjectSpace.each_object(Class).find { |c| klass.is_a? c and c.inspect.include? klass.inspect }
p hidden
p hidden.ancestors
# hidden.singleton_class # fix
p hidden.bla # => undefined method `bla'
    (1-1/1)