Project

General

Profile

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 11 years ago. Updated about 1 month ago.

Status:
Closed
Priority:
Normal
[ruby-core:19755]

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 methoda' (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

History

#1

Updated by shyouhei (Shyouhei Urabe) over 10 years ago

  • Assignee set to nobu (Nobuyoshi Nakada)

=begin

=end

#2

Updated by shyouhei (Shyouhei Urabe) almost 9 years ago

  • Status changed from Open to Assigned
  • ruby -v set to 1.8.x

=begin

=end

#3

Updated by jeremyevans0 (Jeremy Evans) about 1 month ago

  • ruby -v deleted (1.8.x)
  • Status changed from Assigned to Closed
  • Description updated (diff)
  • Project changed from Ruby 1.8 to Backport187
  • Tracker changed from Bug to Backport

Also available in: Atom PDF