Project

General

Profile

Actions

Feature #21028

open

Method for finding why an object isn't Ractor shareable

Added by tenderlovemaking (Aaron Patterson) 4 days ago. Updated 2 days ago.

Status:
Open
Target version:
-
[ruby-core:120617]

Description

Ractor.shareable? is easy to use, but if it returns false I would like to be able to figure out what object is causing the data structure to not be Ractor shareable.

The context is that I'm trying to make some complex data structures in Rails deeply frozen. If they are deeply frozen they should be Ractor shareable, but Ractor.shareable? is returning false and it's hard for me to figure out why.

I would like a method that would either return all unshareable references, or a method that takes a block and unshareable references are yielded to the block.

A method like Ractor.unshareable_references? or maybe Ractor.shareable?(obj) { |not_shareable_obj| } would be very helpful for discovering why an object is not shareable.

Thanks!

Updated by tenderlovemaking (Aaron Patterson) 3 days ago

  • Assignee set to tenderlovemaking (Aaron Patterson)

Updated by luke-gru (Luke Gruber) 2 days ago

I suspect it's probably a Proc object. The feature sounds good to me, and wouldn't be hard to implement I think.

Actions

Also available in: Atom PDF

Like1
Like0Like0