
Issue #21028 has been updated by osyoyu (Daisuke Aritomo). +1 for this feature. It is quite hard to find out that a rb_data_type_t in the deep is lacking the `RUBY_TYPED_FROZEN_SHAREABLE` flag. ---------------------------------------- Feature #21028: Method for finding why an object isn't Ractor shareable https://bugs.ruby-lang.org/issues/21028#change-111731 * Author: tenderlovemaking (Aaron Patterson) * Status: Open * Assignee: tenderlovemaking (Aaron Patterson) ---------------------------------------- `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! -- https://bugs.ruby-lang.org/