Actions
Feature #18894
openObject#make_shareable
Status:
Open
Assignee:
-
Target version:
-
Description
I'm proposing a callback method for when one calls Ractor.make_shareable(obj)
, the same way Marshal.dump(obj)
calls obj.marshal_dump
.
A lot of use cases in the wild involve a quick initialization of an object, only for some more heavy initializattion to be lazily called the first time an operation is called. An example in stdlib is Resolv::Hosts
, which calls lazy_initialize
on certains calls to resolve a name. Given that Resolv
has a default resolver, this is unusable in ractors, due this "lazy" thing. Having a callback would allow to eager-load such an object, thereby making the default resolver usable with ractors.
Actions
Like0
Like0