1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

[ruby/ostruct] Add test that frozen OpenStructs are Ractor-shareable

This commit is contained in:
Marc-Andre Lafortune 2020-09-25 21:17:06 -04:00 committed by Marc-André Lafortune
parent 083fa6e5d2
commit 0977040133
Notes: git 2020-10-01 07:11:51 +09:00
2 changed files with 13 additions and 0 deletions

View file

@ -62,6 +62,8 @@
# first_pet # => #<OpenStruct name="Rowdy">
# first_pet == second_pet # => true
#
# Ractor compatibility: A frozen OpenStruct with shareable values is itself shareable.
#
# == Caveats
#
# An OpenStruct utilizes Ruby's method lookup structure to find and define the

View file

@ -298,4 +298,15 @@ class TC_OpenStruct < Test::Unit::TestCase
o.foo = 42
assert_equal 42, o.foo
end
def test_ractor
obj1 = OpenStruct.new(a: 42, b: 42)
obj1.c = 42
obj1.freeze
obj2 = Ractor.new obj1 do |obj|
obj
end.take
assert obj1.object_id == obj2.object_id
end if defined?(Ractor)
end