Actions
Bug #11826
closedAfter prepending a module, rewrite Hash#[] takes no effect for calls like Hash.new[:a]
Description
module M
def self.prepended(clz)
clz.class_eval do
def [](k)
p 1
end
end
end
end
module N
def self.included(clz)
clz.class_eval do
def []=(k, v)
p 2
end
end
end
end
class Hash
prepend M
include N
end
Hash.new[1]
Hash.new[1]=1
Running this example gives no output, which is expected to be '1 2'.
I am using 'ruby 2.2.2p95 (2015-04-13 revision 50295) [x64-mingw32]'.
Thanks in advanced.
Actions
Like0
Like0Like0Like0Like0