Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Demonstration of a weird bug in Ruby 1.9.
module MyModule
def some_method; super; end
class MyBaseClass; end
class MySubClass < MyBaseClass;
include MyModule
# To trigger this bug, we must include the module in the base class after
# the module has already been included in the subclass. If we move this line
# above the subclass declaration, this bug will not occur.
MyBaseClass.send(:include, MyModule)
➜ ruby --version
ruby 1.8.7 (2011-02-18 patchlevel 334) [i686-darwin10.6.0]
➜ ruby example.rb
example.rb:2:in `some_method': super: no superclass method `some_method' for #<MySubClass:0x1001bc2d0> (NoMethodError)
from example.rb:2:in `some_method'
from example.rb:13
➜ ruby --version
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin10.6.0]
➜ ruby example.rb
example.rb:2: stack level too deep (SystemStackError)
Copy link

canadaduane commented Mar 28, 2013


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment