For what it's worth, changing the exception class is a breaking change (unless IO::TimeoutError is made to inherit from `Errno::ETIMEDOUT`, but it already inherits from `IOError`). For instance https://github.com/redis-rb/redis-client...byroot (Jean Boussier)
I have another PR that allow Backtrace objects to be duped, hence to send them across Ractors: https://github.com/ruby/ruby/pull/15795byroot (Jean Boussier)
> I'm not sure if there is a way to allow an object to be copied without defining an allocator function. So I experimented with this a bit. It wouldn't be hard at all to disable `Class#allocate` while still allowing `rb_obj_dup` etc t...byroot (Jean Boussier)
> https://github.com/ruby/ruby/pull/15790 fixes the make_shareable. Actually, might be more tricky than that. `Backtrace` object have two lazily instantiated mutable arrays (`backtrace` and `backtrace_locations`). So if we mark them ...byroot (Jean Boussier)
> I think it will depend on what you achieve with Stack. Yes, the point is to use it in cases where synchronization is needed, hence Array is not suitable. Typically connection pools: https://github.com/mperham/connection_pool/blob/8b...byroot (Jean Boussier)
### Context `Queue` and `SizedQueue` are very useful and performant constructs, however they only allow for FIFO queues. Some use cases do call for LIFO queues AKA stacks. For instance, in the case of connection pool, it's often p...byroot (Jean Boussier)
* [Feature #21800] `Dir.foreach` and `Dir.each_child` to optionally yield `File::Stat` object alongside the children name (byroot) * It's common for development tools to need to recursively scan the file system, but it's slower than i...byroot (Jean Boussier)
> the point is MonitorMixin seems well done and core-worthy. Yeah, I don't think I agree with this. I never use it because including it expose a bunch of `mon_*` public methods that nobody ever use. At the end of the day 99% of Monit...byroot (Jean Boussier)
A large part of `thread_sync.c` was migrated already, might as well go all the way. It also allow to remove a bunch of Rdoc commands.byroot (Jean Boussier)
https://github.com/ruby/ruby/pull/15790 fixes the `make_shareable`. As for sending, I'm not sure if there is a way to allow an object to be copied without defining an allocator function.byroot (Jean Boussier)