Actions
Bug #20255
openEmbedded arrays aren't moved correctly across ractors
Description
ractor.send(ary, move: true)
works incorrectly because if ary
is embedded, the new moved object doesn't populate its own embedded space, it uses the MovedObject's embedded space.
example:
r = Ractor.new {
inner_ary = receive
values = {}
values[:equal] = (inner_ary == ["",{},2,3,4,5,6])
values[:string] = inner_ary.to_s
values
}
ary = [String.new,Hash.new,2,3,4,5,6]
r.send(ary, move: true)
r_values = r.take
p r_values[:equal]
p r_values[:string]
# => false
# => "[\"\", {}, 2, 2.0, 21747991570, String, 3]"
Actions
Like0
Like0Like0Like0