Project

General

Profile

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)

Added by coderrr (coderrr .) over 15 years ago. Updated over 4 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: Atom PDF

Like0
Like0Like0Like0