Project

General

Profile

This project is closed and read-only.

Actions

Backport #734

closed

"no superclass method" raised when calling super from an aliased method included from a module (when method was aliased from inside the module)

Backport #734: "no superclass method" raised when calling super from an aliased method included from a module (when method was aliased from inside the module)

Added by coderrr (coderrr .) almost 18 years ago. Updated about 7 years ago.


Description

=begin
Summary:

Initial Comment:
class A
def a
:a
end
end

module M
def a
super
end
alias_method :b, :a
end

class B < A
include M
end

p B.new.a => :a
p B.new.b # in b': super: no superclass method a' (NoMethodError)

If you alias a method defined in a module (aliasing the method inside of the module) then calls to super inside that method will no longer work.

This error only occurs in ruby 1.8, it functions correctly in 1.9.
=end

Actions

Also available in: PDF Atom