From: "Eregon (Benoit Daloze)" Date: 2022-03-17T11:14:57+00:00 Subject: [ruby-core:107945] [Ruby master Feature#18566] Merge `io-wait` and `io-nonblock` gems into core IO Issue #18566 has been updated by Eregon (Benoit Daloze). I think the gem could just be empty, and so `require "io/wait"` would just require the stdlib (or noop if a Ruby impl implements it in core). I wouldn't set `require_ruby_version`, that dummy io-wait gem would work for all Ruby versions with a io/wait stdlib, so all Ruby versions. There is some more discussion about the dummy gem in https://github.com/ruby/io-wait/issues/12 ---------------------------------------- Feature #18566: Merge `io-wait` and `io-nonblock` gems into core IO https://bugs.ruby-lang.org/issues/18566#change-96895 * Author: byroot (Jean Boussier) * Status: Open * Priority: Normal ---------------------------------------- I think we should reconsider status of `io-wait`, and consider simply merging it into core's `IO`. According to @nobu it's only a gem for "historical" reasons. Any non trivial IO code will likely make use of it, and it's just 400 lines of code. Recently with the extraction of `net-protocol`, it was added add a dependency and that caused Ruby 3.1 compatibility issues with some gems (e.g. with [`mail`](https://github.com/mikel/mail/pull/1439)). ### Proposal - Merge `io-wait` into `io.c` for Ruby 3.2 - Remove `io-wait` as a dependency of all gems maintained by `ruby-core` (e.g. `net-protocol`). - Publish a new `io-wait` version that is simply an empty gem. - Add a `lib/io/wait.rb` stub, with eventually a deprecation warning. cc @eregon @headius @mame @ioquatix -- https://bugs.ruby-lang.org/ Unsubscribe: