Project

General

Profile

Bug #9377

Updated by nobu (Nobuyoshi Nakada) over 11 years ago

=begin  Seg fault on call of missing super from `self.extended` self.extended in a Module on 2.1.0-p0 and on 2.1.0-dev x86_64 linux Code to reproduce:  ```ruby    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)  ```ruby    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)  ```ruby    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 

Back