Project

General

Profile

Feature #8546

Updated by nobu (Nobuyoshi Nakada) almost 11 years ago

=begin 
 (({UnboundMethod}))s UnboundMethods are unable to call (({super})) 

   module super 
 =begin 

 (({module M 
     
   def hello 
       
     puts "hello from M" 
     end 
   end 

   
 end 

 class O 
     
   def hello 
       
     puts "hello" 
     end 
   end 

   
 end 

 o = O.new 
   
 o.hello #=> "hello" 
   
 M.instance_method(:hello).bind(o).call #=> "hello from M" 

   

 module M 
     
   def hello 
       
     super 
     end 
   end 

   
 end 

 M.instance_method(:hello).bind(o).call #=> TypeError: self has wrong type to call super in this context: O (expected M)})) 
 =end 

 Given that the non-super method works, I would expect super to work. 
 =end 

Back