Issue #7842 has been updated by nobu (Nobuyoshi Nakada).

Backport set to 1.9.3: DONTNEED, 2.0.0: REQUIRED


----------------------------------------
Bug #7842: An alias of a "prepend"ed method skips the original method when calling super
https://bugs.ruby-lang.org/issues/7842#change-43734

Author: mame (Yusuke Endoh)
Status: Closed
Priority: Normal
Assignee: nobu (Nobuyoshi Nakada)
Category: core
Target version: current: 2.1.0
ruby -v: ruby 2.0.0dev (2013-02-13 trunk 39225) [x86_64-linux]
Backport: 1.9.3: DONTNEED, 2.0.0: REQUIRED


Hello,

  module P
    def m; puts "P"; super; end
  end
  class A
    def m; puts "A"; end
  end
  class B < A
    def m; puts "B"; end
    prepend P
    alias m2 m
  end
  B.new.m2
    #=> expected: P, B, A
    #=> actual:   P, A

Is this intentional?
It looks weird to me that calling super of P#m (as m2) skips A#m.

-- 
Yusuke Endoh <mame / tsg.ne.jp>


-- 
http://bugs.ruby-lang.org/