From: matz@... Date: 2021-06-17T05:30:04+00:00 Subject: [ruby-core:104330] [Ruby master Bug#17887] Missed constant lookup after prepend Issue #17887 has been updated by matz (Yukihiro Matsumoto). I agree it should be a bug. @nobu, could you review @jeremyevans's patch? I'd like to see if the fix causes any compatibility issue. Matz. ---------------------------------------- Bug #17887: Missed constant lookup after prepend https://bugs.ruby-lang.org/issues/17887#change-92550 * Author: bjfish (Brandon Fish) * Status: Open * Priority: Normal * ruby -v: 2.6.x-3.0.x * Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN ---------------------------------------- **Description** The following shows that the constant lookup from B does not find the constant in the prepended M module. I would expect this lookup to behave like "B.include M" which does print the constant from module M. **Example** ``` ruby module M FOO = 'm' end class A FOO = 'a' end class B < A def foo FOO end end b = B.new p b.foo A.prepend M p b.foo ``` **Expected Result** ``` "a" "m" ``` **Actual Result** ``` "a" "a" ``` -- https://bugs.ruby-lang.org/ Unsubscribe: