Project

General

Profile

Actions

Feature #18566

closed

Merge `io-wait` and `io-nonblock` gems into core IO

Added by byroot (Jean Boussier) about 2 years ago. Updated almost 2 years ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:107430]

Description

I think we should reconsider status of io-wait, and consider simply merging it into core's IO.

According to @nobu (Nobuyoshi Nakada) 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).

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 (Benoit Daloze) @headius (Charles Nutter) @mame (Yusuke Endoh) @ioquatix (Samuel Williams)


Related issues 3 (1 open2 closed)

Related to Ruby master - Bug #18567: Depending on default gems in stdlib gems when not needed considered harmfulClosedhsbt (Hiroshi SHIBATA)Actions
Related to Ruby master - Feature #18655: Copy `IO#wait_readable`, `IO#wait_writable`, `IO#wait_priority` and `IO#wait` into core.ClosedActions
Related to Ruby master - Feature #18668: Merge `io-nonblock` gems into coreOpenActions
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0