From: Ilmari Heikkinen Date: 2006-07-09T04:15:57+09:00 Subject: Method lookup weirdness Hi, I'm a bit mystified by the following: ### Strange module Foo extend self def bar; 'bar' end end Foo.bar module Foo remove_method :bar end Foo.bar # => 'bar' # eh? ### Normal module Bar extend self def foo; 'foo' end end module Bar remove_method :foo end Bar.foo # undefined method `foo' for Bar:Module (NoMethodError) ### Broken $ irb module Qux extend self def bar; 'bar' end end Qux.bar module Qux remove_method :bar end GC.start # eats Qux#bar ? Qux.bar [BUG] terminated node (0x4057fdd8) ruby 1.8.4 (2005-12-24) [i486-linux] The crash happens only in irb in my testing. What might be causing this? If anyone with more knowledge of Ruby's internals could shed light on this, I'd be grateful. -- ilmari