ActionsLike0
Bug #13446
closedrefinements with prepend for module has strange behavior
Description
using Module.new {
refine Enumerable do
alias :orig_sum :sum
end
}
module Enumerable
def sum(*args)
orig_sum(*args)
end
end
class GenericEnumerable
include Enumerable
def each
end
end
# GenericEnumerable.new.sum # if we uncomment this line, `GenericEnumerable#sum` will work
Enumerable.prepend(Module.new) # if we comment out this line, `GenericEnumerable#sum` will work
p GenericEnumerable.new.sum # undefined method `orig_sum' for #<GenericEnumerable:0x0000000127c120 @values=[1, 2, 3]> (NoMethodError)
Is this intentional?
Updated by nobu (Nobuyoshi Nakada) almost 8 years ago
- Description updated (diff)
- Status changed from Open to Assigned
- Assignee set to nobu (Nobuyoshi Nakada)
Updated by wanabe (_ wanabe) over 5 years ago
- Related to Bug #16242: Refinements method call to failed added
ActionsLike0