Actions
Bug #11246
closedrefine block doesn't respect "lexical" refinement information
Description
The following program making two refinements refine class C.
class C
def foo
p C
end
end
module R1
refine C do
def foo
p R1
super
end
end
end
using R1 # 1
module R2
using R1 # 2
refine C do
# using R1 # 3
def bar
C.new.foo
end
end
end
using R2
C.new.bar
Without using R1 # 3
, C#foo
was called in R2::C#bar
.
By using R1 #1
and #2
, we declared that this lexical scope should use R1. However, it seems that this declaration is ignored.
Is it an intentional behavior?
Actions
Like0
Like0Like0