fix Ractor.make_shareable() with Class/Module
To check shareable-ness, rb_ractor_shareable_p() is needed for Class/Module objects isntead of checking flags.
This commit is contained in:
parent
8680ae9cbd
commit
730f314171
@ -1149,6 +1149,14 @@ assert_equal '[:ok, false, false]', %q{
|
||||
[(Ractor.make_shareable(x) rescue :ok), Ractor.shareable?(x), Ractor.shareable?(y)]
|
||||
}
|
||||
|
||||
# Ractor.make_shareable with Class/Module
|
||||
assert_equal '[C, M]', %q{
|
||||
class C; end
|
||||
module M; end
|
||||
|
||||
Ractor.make_shareable(ary = [C, M])
|
||||
}
|
||||
|
||||
# define_method() can invoke different Ractor's proc if the proc is shareable.
|
||||
assert_equal '1', %q{
|
||||
class C
|
||||
@ -1191,7 +1199,6 @@ assert_equal '[false, false, true, true]', %q{
|
||||
r
|
||||
}
|
||||
|
||||
|
||||
# Ractor deep copies frozen objects (ary)
|
||||
assert_equal '[true, false]', %q{
|
||||
Ractor.new([[]].freeze) { |ary|
|
||||
|
Loading…
x
Reference in New Issue
Block a user