Actions
Bug #17513
openMethods of shareable objects and UnboundMethods should be shareable
Description
class Foo
def foo
end
end
f = Foo.new.freeze
Ractor.shareable?(f) # => true
Ractor.make_shareable(f.method(:foo).to_proc) # => Proc, ok
Ractor.make_shareable(f.method(:foo)) # => Ractor::Error, expected Method
Ractor.make_shareable(Foo.instance_method(:foo)) # => Ractor::Error, expected UnboundMethod
Updated by Eregon (Benoit Daloze) over 2 years ago
Methods can be defined via define_method { capture_state }
and so rely on mutable state, so I guess this is only OK for def
methods.
Updated by marcandre (Marc-Andre Lafortune) over 2 years ago
Agreed, some methods can not be made shareable 👍.
Actions
Like0
Like0Like0