From: bcardarella@... Date: 2014-01-23T18:23:30+00:00 Subject: [ruby-core:60031] [ruby-trunk - Bug #9443] [Open] Pepended methods are skipped if calling alias Issue #9443 has been reported by Brian Cardarella. ---------------------------------------- Bug #9443: Pepended methods are skipped if calling alias https://bugs.ruby-lang.org/issues/9443 * Author: Brian Cardarella * Status: Open * Priority: Normal * Assignee: * Category: * Target version: * ruby -v: 2.1.0 * Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN ---------------------------------------- I am unsure if this is related to https://bugs.ruby-lang.org/issues/7842 as that issue specifically mentions the user of "super" which my example code does not use. Anyway, here is the test to recreate: require 'test/unit' module A def foo 'foo2' end end class B def foo 'foo1' end alias_method :bar, :foo end B.send(:prepend, A) class AliasTest < Test::Unit::TestCase def test_no_alias assert_equal 'foo2', B.new.foo end def test_with_alias assert_equal 'foo2', B.new.bar end end test_with_alias fails and will only call the original "foo" method. I have confirmed this on Ruby 2.0.0-p353 & 2.1.0 -- http://bugs.ruby-lang.org/