* [ruby-core:120617] [Ruby master Feature#21028] Method for finding why an object isn't Ractor shareable
@ 2025-01-11 23:24 tenderlovemaking (Aaron Patterson) via ruby-core
2025-01-13 18:46 ` [ruby-core:120638] " tenderlovemaking (Aaron Patterson) via ruby-core
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: tenderlovemaking (Aaron Patterson) via ruby-core @ 2025-01-11 23:24 UTC (permalink / raw)
To: ruby-core; +Cc: tenderlovemaking (Aaron Patterson)
Issue #21028 has been reported by tenderlovemaking (Aaron Patterson).
----------------------------------------
Feature #21028: Method for finding why an object isn't Ractor shareable
https://bugs.ruby-lang.org/issues/21028
* Author: tenderlovemaking (Aaron Patterson)
* Status: Open
----------------------------------------
`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/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/
^ permalink raw reply [flat|nested] 4+ messages in thread
* [ruby-core:120638] [Ruby master Feature#21028] Method for finding why an object isn't Ractor shareable
2025-01-11 23:24 [ruby-core:120617] [Ruby master Feature#21028] Method for finding why an object isn't Ractor shareable tenderlovemaking (Aaron Patterson) via ruby-core
@ 2025-01-13 18:46 ` tenderlovemaking (Aaron Patterson) via ruby-core
2025-01-13 22:47 ` [ruby-core:120642] " luke-gru (Luke Gruber) via ruby-core
2025-02-01 16:33 ` [ruby-core:120854] " osyoyu (Daisuke Aritomo) via ruby-core
2 siblings, 0 replies; 4+ messages in thread
From: tenderlovemaking (Aaron Patterson) via ruby-core @ 2025-01-13 18:46 UTC (permalink / raw)
To: ruby-core; +Cc: tenderlovemaking (Aaron Patterson)
Issue #21028 has been updated by tenderlovemaking (Aaron Patterson).
Assignee set to tenderlovemaking (Aaron Patterson)
----------------------------------------
Feature #21028: Method for finding why an object isn't Ractor shareable
https://bugs.ruby-lang.org/issues/21028#change-111467
* 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/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/
^ permalink raw reply [flat|nested] 4+ messages in thread
* [ruby-core:120642] [Ruby master Feature#21028] Method for finding why an object isn't Ractor shareable
2025-01-11 23:24 [ruby-core:120617] [Ruby master Feature#21028] Method for finding why an object isn't Ractor shareable tenderlovemaking (Aaron Patterson) via ruby-core
2025-01-13 18:46 ` [ruby-core:120638] " tenderlovemaking (Aaron Patterson) via ruby-core
@ 2025-01-13 22:47 ` luke-gru (Luke Gruber) via ruby-core
2025-02-01 16:33 ` [ruby-core:120854] " osyoyu (Daisuke Aritomo) via ruby-core
2 siblings, 0 replies; 4+ messages in thread
From: luke-gru (Luke Gruber) via ruby-core @ 2025-01-13 22:47 UTC (permalink / raw)
To: ruby-core; +Cc: luke-gru (Luke Gruber)
Issue #21028 has been updated by luke-gru (Luke Gruber).
I suspect it's probably a `Proc` object. The feature sounds good to me, and wouldn't be hard to implement I think.
----------------------------------------
Feature #21028: Method for finding why an object isn't Ractor shareable
https://bugs.ruby-lang.org/issues/21028#change-111471
* 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/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/
^ permalink raw reply [flat|nested] 4+ messages in thread
* [ruby-core:120854] [Ruby master Feature#21028] Method for finding why an object isn't Ractor shareable
2025-01-11 23:24 [ruby-core:120617] [Ruby master Feature#21028] Method for finding why an object isn't Ractor shareable tenderlovemaking (Aaron Patterson) via ruby-core
2025-01-13 18:46 ` [ruby-core:120638] " tenderlovemaking (Aaron Patterson) via ruby-core
2025-01-13 22:47 ` [ruby-core:120642] " luke-gru (Luke Gruber) via ruby-core
@ 2025-02-01 16:33 ` osyoyu (Daisuke Aritomo) via ruby-core
2 siblings, 0 replies; 4+ messages in thread
From: osyoyu (Daisuke Aritomo) via ruby-core @ 2025-02-01 16:33 UTC (permalink / raw)
To: ruby-core; +Cc: osyoyu (Daisuke Aritomo)
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/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-02-01 16:33 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-01-11 23:24 [ruby-core:120617] [Ruby master Feature#21028] Method for finding why an object isn't Ractor shareable tenderlovemaking (Aaron Patterson) via ruby-core
2025-01-13 18:46 ` [ruby-core:120638] " tenderlovemaking (Aaron Patterson) via ruby-core
2025-01-13 22:47 ` [ruby-core:120642] " luke-gru (Luke Gruber) via ruby-core
2025-02-01 16:33 ` [ruby-core:120854] " osyoyu (Daisuke Aritomo) via ruby-core
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).