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]"
Updated by luke-gru (Luke Gruber) 9 months ago
I sent a PR here: https://github.com/ruby/ruby/pull/9918
Updated by ko1 (Koichi Sasada) 9 months ago
- Assignee set to ko1 (Koichi Sasada)
Updated by hsbt (Hiroshi SHIBATA) 8 months ago
- Status changed from Open to Assigned
Actions
Like0
Like0Like0Like0