Bug #9377
Updated by nobu (Nobuyoshi Nakada) almost 11 years ago
=begin Seg fault on call of missing super from self.extended in a Module on 2.1.0-p0 and on 2.1.0-dev x86_64 linux Code to reproduce: ``` module A def foo; super end def self.extended(obj) instance_method(:foo).bind(obj).call end end Object.new.extend A ``` (stack trace is attached) Note that calling from after extend is okay: (but raises missing super error) ``` module A def foo; super end end Object.new.extend(A).foo #=> in `foo': super: no superclass method `foo' for #<Object:0x007fabf43d2730> (NoMethodError) ``` Also note that calling from within the extend as before, but having the method defined is also okay (and raises no error) ``` module ABase def foo; end end module A include ABase def foo; super end def self.extended(obj) instance_method(:foo).bind(obj).call end end Object.new.extend A =end ```