fn method_location<'a>(obj: &'a RubyObject<'a>) -> &'a RubyObject<'a> {
            match *obj {
                RubyObject::Module {..} |
                RubyObject::Class {..} |
                RubyObject::Metaclass {..} |
                RubyObject::IClass {..} =>
                    obj
            }
        }
// TODO - we'll need this to implement prepends later.
// MRI's prepend implementation relies on changing the type of the object
// at the module's address. We can't do that here, so instead let's go with
// JRuby's algorithm involving keeping a reference to the real module.
we'll need this to implement prepends later.
MRI's prepend implementation relies on changing the type of the object
at the module's address. We can't do that here, so instead let's go with
JRuby's algorithm involving keeping a reference to the real module.
we ' ll need this to implement prepends later . MRI ' s prepend implementation relies on changing the type of the object at the module ' s address . We can ' t do that here so instead let ' s go with JRuby ' s algorithm involving keeping a reference to the real module .
fn method_location<'a>(obj: &'a RubyObject<'a>) -> &'a RubyObject<'a> {
            match *obj {
                RubyObject::Module {..} |
                RubyObject::Class {..} |
                RubyObject::Metaclass {..} |
                RubyObject::IClass {..} =>
                    obj
            }
        }
fn method_location < ' a > ( obj : & ' a RubyObject < ' a > ) -> & ' a RubyObject < ' a > { match * obj { RubyObject :: Module { .. } | RubyObject :: Class { .. } | RubyObject :: Metaclass { .. } | RubyObject :: IClass { .. } => obj } }
TODO - we'll need this to implement prepends later.
TODO - we ' ll need this to implement prepends later .
obj
&'a RubyObject<'a>