rbs 3.10.4 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/dependabot.yml +14 -14
- data/.github/workflows/bundle-update.yml +60 -0
- data/.github/workflows/c-check.yml +7 -5
- data/.github/workflows/comments.yml +2 -2
- data/.github/workflows/dependabot.yml +2 -2
- data/.github/workflows/ruby.yml +16 -26
- data/.github/workflows/rust.yml +95 -0
- data/.github/workflows/typecheck.yml +1 -1
- data/.github/workflows/windows.yml +2 -2
- data/.rubocop.yml +2 -2
- data/.vscode/extensions.json +5 -0
- data/.vscode/settings.json +19 -0
- data/CHANGELOG.md +202 -2
- data/Rakefile +9 -23
- data/Steepfile +2 -0
- data/config.yml +457 -13
- data/core/array.rbs +218 -188
- data/core/basic_object.rbs +9 -8
- data/core/binding.rbs +0 -2
- data/core/builtin.rbs +2 -2
- data/core/class.rbs +6 -5
- data/core/comparable.rbs +45 -31
- data/core/complex.rbs +66 -55
- data/core/dir.rbs +57 -45
- data/core/encoding.rbs +6 -6
- data/core/enumerable.rbs +105 -91
- data/core/enumerator/arithmetic_sequence.rbs +70 -0
- data/core/enumerator.rbs +24 -3
- data/core/errno.rbs +3 -2
- data/core/errors.rbs +31 -29
- data/core/exception.rbs +12 -12
- data/core/fiber.rbs +47 -36
- data/core/file.rbs +242 -169
- data/core/file_test.rbs +2 -2
- data/core/float.rbs +42 -68
- data/core/gc.rbs +78 -70
- data/core/hash.rbs +70 -60
- data/core/integer.rbs +32 -75
- data/core/io/buffer.rbs +36 -36
- data/core/io/wait.rbs +7 -7
- data/core/io.rbs +192 -146
- data/core/kernel.rbs +198 -147
- data/core/marshal.rbs +3 -3
- data/core/match_data.rbs +14 -12
- data/core/math.rbs +69 -67
- data/core/method.rbs +6 -8
- data/core/module.rbs +148 -88
- data/core/nil_class.rbs +4 -3
- data/core/numeric.rbs +53 -50
- data/core/object.rbs +6 -8
- data/core/object_space.rbs +11 -10
- data/core/pathname.rbs +131 -81
- data/core/proc.rbs +65 -34
- data/core/process.rbs +221 -201
- data/core/ractor.rbs +15 -11
- data/core/random.rbs +21 -3
- data/core/range.rbs +152 -49
- data/core/rational.rbs +5 -56
- data/core/rbs/unnamed/argf.rbs +58 -51
- data/core/rbs/unnamed/env_class.rbs +18 -13
- data/core/rbs/unnamed/main_class.rbs +123 -0
- data/core/rbs/unnamed/random.rbs +7 -116
- data/core/regexp.rbs +236 -197
- data/core/ruby.rbs +1 -1
- data/core/ruby_vm.rbs +32 -30
- data/core/rubygems/config_file.rbs +5 -5
- data/core/rubygems/errors.rbs +1 -1
- data/core/rubygems/requirement.rbs +5 -5
- data/core/rubygems/rubygems.rbs +5 -3
- data/core/set.rbs +17 -16
- data/core/signal.rbs +2 -2
- data/core/string.rbs +318 -298
- data/core/struct.rbs +26 -25
- data/core/symbol.rbs +25 -24
- data/core/thread.rbs +40 -41
- data/core/time.rbs +47 -42
- data/core/trace_point.rbs +34 -31
- data/core/true_class.rbs +2 -2
- data/core/unbound_method.rbs +10 -10
- data/core/warning.rbs +7 -7
- data/docs/collection.md +1 -1
- data/docs/config.md +171 -0
- data/docs/inline.md +576 -0
- data/docs/syntax.md +46 -16
- data/docs/type_fingerprint.md +21 -0
- data/exe/rbs +1 -1
- data/ext/rbs_extension/ast_translation.c +595 -98
- data/ext/rbs_extension/class_constants.c +30 -0
- data/ext/rbs_extension/class_constants.h +15 -0
- data/ext/rbs_extension/legacy_location.c +30 -53
- data/ext/rbs_extension/legacy_location.h +37 -0
- data/ext/rbs_extension/main.c +125 -24
- data/include/rbs/ast.h +485 -150
- data/include/rbs/lexer.h +11 -4
- data/include/rbs/location.h +25 -44
- data/include/rbs/parser.h +20 -2
- data/include/rbs/util/rbs_constant_pool.h +0 -3
- data/include/rbs.h +8 -0
- data/lib/rbs/ast/annotation.rb +1 -1
- data/lib/rbs/ast/comment.rb +1 -1
- data/lib/rbs/ast/declarations.rb +10 -10
- data/lib/rbs/ast/members.rb +14 -14
- data/lib/rbs/ast/ruby/annotations.rb +409 -0
- data/lib/rbs/ast/ruby/comment_block.rb +245 -0
- data/lib/rbs/ast/ruby/declarations.rb +281 -0
- data/lib/rbs/ast/ruby/helpers/constant_helper.rb +28 -0
- data/lib/rbs/ast/ruby/helpers/location_helper.rb +15 -0
- data/lib/rbs/ast/ruby/members.rb +723 -0
- data/lib/rbs/ast/type_param.rb +24 -4
- data/lib/rbs/buffer.rb +105 -20
- data/lib/rbs/cli/diff.rb +16 -15
- data/lib/rbs/cli/validate.rb +62 -125
- data/lib/rbs/cli.rb +55 -23
- data/lib/rbs/collection/config/lockfile_generator.rb +8 -4
- data/lib/rbs/collection/sources/git.rb +1 -0
- data/lib/rbs/collection.rb +0 -1
- data/lib/rbs/definition.rb +6 -1
- data/lib/rbs/definition_builder/ancestor_builder.rb +119 -63
- data/lib/rbs/definition_builder/method_builder.rb +65 -30
- data/lib/rbs/definition_builder.rb +177 -20
- data/lib/rbs/diff.rb +7 -1
- data/lib/rbs/environment/class_entry.rb +69 -0
- data/lib/rbs/environment/module_entry.rb +66 -0
- data/lib/rbs/environment.rb +338 -155
- data/lib/rbs/environment_loader.rb +2 -2
- data/lib/rbs/errors.rb +30 -20
- data/lib/rbs/inline_parser/comment_association.rb +117 -0
- data/lib/rbs/inline_parser.rb +542 -0
- data/lib/rbs/location_aux.rb +36 -4
- data/lib/rbs/locator.rb +5 -1
- data/lib/rbs/method_type.rb +5 -3
- data/lib/rbs/namespace.rb +0 -7
- data/lib/rbs/parser_aux.rb +31 -8
- data/lib/rbs/prototype/helpers.rb +57 -0
- data/lib/rbs/prototype/rb.rb +3 -28
- data/lib/rbs/prototype/rbi.rb +3 -20
- data/lib/rbs/prototype/runtime.rb +10 -2
- data/lib/rbs/resolver/type_name_resolver.rb +0 -8
- data/lib/rbs/source.rb +99 -0
- data/lib/rbs/subtractor.rb +4 -3
- data/lib/rbs/test/type_check.rb +5 -2
- data/lib/rbs/type_name.rb +1 -8
- data/lib/rbs/types.rb +88 -78
- data/lib/rbs/unit_test/convertibles.rb +1 -0
- data/lib/rbs/unit_test/type_assertions.rb +35 -8
- data/lib/rbs/validator.rb +2 -2
- data/lib/rbs/version.rb +1 -1
- data/lib/rbs.rb +12 -1
- data/rbs.gemspec +3 -2
- data/rust/.gitignore +1 -0
- data/rust/Cargo.lock +378 -0
- data/rust/Cargo.toml +7 -0
- data/rust/ruby-rbs/Cargo.toml +22 -0
- data/rust/ruby-rbs/build.rs +764 -0
- data/rust/ruby-rbs/examples/locations.rs +60 -0
- data/rust/ruby-rbs/src/lib.rs +1 -0
- data/rust/ruby-rbs/src/node/mod.rs +742 -0
- data/rust/ruby-rbs/tests/sanity.rs +47 -0
- data/rust/ruby-rbs/vendor/rbs/config.yml +1 -0
- data/rust/ruby-rbs-sys/Cargo.toml +23 -0
- data/rust/ruby-rbs-sys/build.rs +204 -0
- data/rust/ruby-rbs-sys/src/lib.rs +50 -0
- data/rust/ruby-rbs-sys/vendor/rbs/include +1 -0
- data/rust/ruby-rbs-sys/vendor/rbs/src +1 -0
- data/rust/ruby-rbs-sys/wrapper.h +1 -0
- data/schema/typeParam.json +17 -1
- data/sig/ancestor_builder.rbs +1 -1
- data/sig/ast/ruby/annotations.rbs +421 -0
- data/sig/ast/ruby/comment_block.rbs +127 -0
- data/sig/ast/ruby/declarations.rbs +158 -0
- data/sig/ast/ruby/helpers/constant_helper.rbs +11 -0
- data/sig/ast/ruby/helpers/location_helper.rbs +15 -0
- data/sig/ast/ruby/members.rbs +178 -0
- data/sig/buffer.rbs +63 -5
- data/sig/cli/diff.rbs +5 -11
- data/sig/cli/validate.rbs +12 -8
- data/sig/cli.rbs +18 -18
- data/sig/definition.rbs +6 -0
- data/sig/definition_builder.rbs +3 -1
- data/sig/environment/class_entry.rbs +50 -0
- data/sig/environment/module_entry.rbs +50 -0
- data/sig/environment.rbs +37 -81
- data/sig/errors.rbs +26 -20
- data/sig/inline_parser/comment_association.rbs +71 -0
- data/sig/inline_parser.rbs +124 -0
- data/sig/location.rbs +32 -7
- data/sig/locator.rbs +0 -2
- data/sig/method_builder.rbs +9 -4
- data/sig/namespace.rbs +0 -5
- data/sig/parser.rbs +47 -13
- data/sig/prototype/helpers.rbs +2 -0
- data/sig/resolver/type_name_resolver.rbs +0 -3
- data/sig/source.rbs +48 -0
- data/sig/type_param.rbs +13 -8
- data/sig/typename.rbs +0 -5
- data/sig/types.rbs +6 -7
- data/sig/unit_test/spy.rbs +0 -8
- data/sig/unit_test/type_assertions.rbs +11 -0
- data/src/ast.c +491 -143
- data/src/lexer.c +1552 -1314
- data/src/lexer.re +7 -0
- data/src/lexstate.c +8 -1
- data/src/location.c +8 -48
- data/src/parser.c +1107 -409
- data/src/util/rbs_constant_pool.c +0 -4
- data/stdlib/bigdecimal/0/big_decimal.rbs +16 -16
- data/stdlib/cgi-escape/0/escape.rbs +4 -4
- data/stdlib/coverage/0/coverage.rbs +4 -3
- data/stdlib/date/0/date.rbs +33 -28
- data/stdlib/date/0/date_time.rbs +24 -23
- data/stdlib/did_you_mean/0/did_you_mean.rbs +17 -16
- data/stdlib/digest/0/digest.rbs +110 -0
- data/stdlib/erb/0/erb.rbs +64 -53
- data/stdlib/etc/0/etc.rbs +55 -50
- data/stdlib/fileutils/0/fileutils.rbs +140 -126
- data/stdlib/forwardable/0/forwardable.rbs +10 -10
- data/stdlib/io-console/0/io-console.rbs +2 -2
- data/stdlib/json/0/json.rbs +158 -131
- data/stdlib/monitor/0/monitor.rbs +3 -3
- data/stdlib/net-http/0/net-http.rbs +159 -134
- data/stdlib/objspace/0/objspace.rbs +8 -30
- data/stdlib/open-uri/0/open-uri.rbs +8 -8
- data/stdlib/open3/0/open3.rbs +469 -10
- data/stdlib/openssl/0/openssl.rbs +144 -129
- data/stdlib/optparse/0/optparse.rbs +23 -14
- data/stdlib/pathname/0/pathname.rbs +2 -2
- data/stdlib/pp/0/pp.rbs +9 -8
- data/stdlib/prettyprint/0/prettyprint.rbs +7 -7
- data/stdlib/pstore/0/pstore.rbs +35 -30
- data/stdlib/psych/0/psych.rbs +62 -9
- data/stdlib/psych/0/store.rbs +2 -4
- data/stdlib/pty/0/pty.rbs +9 -6
- data/stdlib/random-formatter/0/random-formatter.rbs +277 -0
- data/stdlib/rdoc/0/code_object.rbs +2 -1
- data/stdlib/rdoc/0/parser.rbs +1 -1
- data/stdlib/rdoc/0/store.rbs +1 -1
- data/stdlib/ripper/0/ripper.rbs +20 -17
- data/stdlib/securerandom/0/manifest.yaml +2 -0
- data/stdlib/securerandom/0/securerandom.rbs +7 -20
- data/stdlib/shellwords/0/shellwords.rbs +2 -2
- data/stdlib/socket/0/addrinfo.rbs +9 -9
- data/stdlib/socket/0/basic_socket.rbs +3 -3
- data/stdlib/socket/0/ip_socket.rbs +10 -8
- data/stdlib/socket/0/socket.rbs +10 -9
- data/stdlib/socket/0/tcp_server.rbs +1 -1
- data/stdlib/socket/0/tcp_socket.rbs +1 -1
- data/stdlib/socket/0/udp_socket.rbs +1 -1
- data/stdlib/socket/0/unix_server.rbs +1 -1
- data/stdlib/stringio/0/stringio.rbs +55 -54
- data/stdlib/strscan/0/string_scanner.rbs +46 -44
- data/stdlib/tempfile/0/tempfile.rbs +24 -20
- data/stdlib/time/0/time.rbs +7 -5
- data/stdlib/tsort/0/tsort.rbs +7 -6
- data/stdlib/uri/0/common.rbs +31 -18
- data/stdlib/uri/0/file.rbs +2 -2
- data/stdlib/uri/0/generic.rbs +9 -2
- data/stdlib/uri/0/http.rbs +2 -2
- data/stdlib/uri/0/ldap.rbs +2 -2
- data/stdlib/uri/0/mailto.rbs +3 -3
- data/stdlib/uri/0/rfc2396_parser.rbs +6 -5
- data/stdlib/zlib/0/deflate.rbs +4 -3
- data/stdlib/zlib/0/gzip_reader.rbs +6 -6
- data/stdlib/zlib/0/gzip_writer.rbs +14 -12
- data/stdlib/zlib/0/inflate.rbs +1 -1
- data/stdlib/zlib/0/need_dict.rbs +1 -1
- metadata +66 -3
data/core/io/buffer.rbs
CHANGED
|
@@ -81,9 +81,9 @@ class IO
|
|
|
81
81
|
# File.read('test.txt')
|
|
82
82
|
# # => "t--- data"
|
|
83
83
|
#
|
|
84
|
-
#
|
|
85
|
-
# especially true of file mappings which may be removed entirely in the
|
|
86
|
-
# future
|
|
84
|
+
# <strong>The class is experimental and the interface is subject to change, this
|
|
85
|
+
# is especially true of file mappings which may be removed entirely in the
|
|
86
|
+
# future.</strong>
|
|
87
87
|
#
|
|
88
88
|
class Buffer
|
|
89
89
|
include Comparable
|
|
@@ -356,7 +356,7 @@ class IO
|
|
|
356
356
|
# - get_string([offset, [length, [encoding]]]) -> string
|
|
357
357
|
# -->
|
|
358
358
|
# Read a chunk or all of the buffer into a string, in the specified `encoding`.
|
|
359
|
-
# If no encoding is provided
|
|
359
|
+
# If no encoding is provided <code>Encoding::BINARY</code> is used.
|
|
360
360
|
#
|
|
361
361
|
# buffer = IO::Buffer.for('test')
|
|
362
362
|
# buffer.get_string
|
|
@@ -375,32 +375,32 @@ class IO
|
|
|
375
375
|
# Read from buffer a value of `type` at `offset`. `buffer_type` should be one of
|
|
376
376
|
# symbols:
|
|
377
377
|
#
|
|
378
|
-
# *
|
|
379
|
-
# *
|
|
380
|
-
# *
|
|
381
|
-
# *
|
|
382
|
-
# *
|
|
383
|
-
# *
|
|
384
|
-
# *
|
|
385
|
-
# *
|
|
386
|
-
# *
|
|
387
|
-
# *
|
|
388
|
-
# *
|
|
389
|
-
# *
|
|
390
|
-
# *
|
|
391
|
-
# *
|
|
392
|
-
# *
|
|
393
|
-
# *
|
|
394
|
-
# *
|
|
395
|
-
# *
|
|
396
|
-
# *
|
|
397
|
-
# *
|
|
398
|
-
# *
|
|
399
|
-
# *
|
|
378
|
+
# * <code>:U8</code>: unsigned integer, 1 byte
|
|
379
|
+
# * <code>:S8</code>: signed integer, 1 byte
|
|
380
|
+
# * <code>:u16</code>: unsigned integer, 2 bytes, little-endian
|
|
381
|
+
# * <code>:U16</code>: unsigned integer, 2 bytes, big-endian
|
|
382
|
+
# * <code>:s16</code>: signed integer, 2 bytes, little-endian
|
|
383
|
+
# * <code>:S16</code>: signed integer, 2 bytes, big-endian
|
|
384
|
+
# * <code>:u32</code>: unsigned integer, 4 bytes, little-endian
|
|
385
|
+
# * <code>:U32</code>: unsigned integer, 4 bytes, big-endian
|
|
386
|
+
# * <code>:s32</code>: signed integer, 4 bytes, little-endian
|
|
387
|
+
# * <code>:S32</code>: signed integer, 4 bytes, big-endian
|
|
388
|
+
# * <code>:u64</code>: unsigned integer, 8 bytes, little-endian
|
|
389
|
+
# * <code>:U64</code>: unsigned integer, 8 bytes, big-endian
|
|
390
|
+
# * <code>:s64</code>: signed integer, 8 bytes, little-endian
|
|
391
|
+
# * <code>:S64</code>: signed integer, 8 bytes, big-endian
|
|
392
|
+
# * <code>:u128</code>: unsigned integer, 16 bytes, little-endian
|
|
393
|
+
# * <code>:U128</code>: unsigned integer, 16 bytes, big-endian
|
|
394
|
+
# * <code>:s128</code>: signed integer, 16 bytes, little-endian
|
|
395
|
+
# * <code>:S128</code>: signed integer, 16 bytes, big-endian
|
|
396
|
+
# * <code>:f32</code>: float, 4 bytes, little-endian
|
|
397
|
+
# * <code>:F32</code>: float, 4 bytes, big-endian
|
|
398
|
+
# * <code>:f64</code>: double, 8 bytes, little-endian
|
|
399
|
+
# * <code>:F64</code>: double, 8 bytes, big-endian
|
|
400
400
|
#
|
|
401
401
|
# A buffer type refers specifically to the type of binary buffer that is stored
|
|
402
|
-
# in the buffer. For example, a
|
|
403
|
-
# in little-endian format.
|
|
402
|
+
# in the buffer. For example, a <code>:u32</code> buffer type is a 32-bit
|
|
403
|
+
# unsigned integer in little-endian format.
|
|
404
404
|
#
|
|
405
405
|
# string = [1.5].pack('f')
|
|
406
406
|
# # => "\x00\x00\xC0?"
|
|
@@ -557,7 +557,7 @@ class IO
|
|
|
557
557
|
# -->
|
|
558
558
|
# Read at least `length` bytes from the `io` starting at the specified `from`
|
|
559
559
|
# position, into the buffer starting at `offset`. If an error occurs, return
|
|
560
|
-
#
|
|
560
|
+
# <code>-errno</code>.
|
|
561
561
|
#
|
|
562
562
|
# If `length` is not given or `nil`, it defaults to the size of the buffer minus
|
|
563
563
|
# the offset, i.e. the entire buffer.
|
|
@@ -590,7 +590,7 @@ class IO
|
|
|
590
590
|
# -->
|
|
591
591
|
# Write at least `length` bytes from the buffer starting at `offset`, into the
|
|
592
592
|
# `io` starting at the specified `from` position. If an error occurs, return
|
|
593
|
-
#
|
|
593
|
+
# <code>-errno</code>.
|
|
594
594
|
#
|
|
595
595
|
# If `length` is not given or `nil`, it defaults to the size of the buffer minus
|
|
596
596
|
# the offset, i.e. the entire buffer.
|
|
@@ -607,7 +607,7 @@ class IO
|
|
|
607
607
|
# IO::Buffer.for('1234567').pwrite(out, 2, 3, 1)
|
|
608
608
|
#
|
|
609
609
|
# This leads to `234` (3 bytes, starting from position 1) being written into
|
|
610
|
-
#
|
|
610
|
+
# <code>output.txt</code>, starting from file position 2.
|
|
611
611
|
#
|
|
612
612
|
def pwrite: (untyped, untyped, untyped) -> untyped
|
|
613
613
|
|
|
@@ -616,7 +616,7 @@ class IO
|
|
|
616
616
|
# - read(io, [length, [offset]]) -> read length or -errno
|
|
617
617
|
# -->
|
|
618
618
|
# Read at least `length` bytes from the `io`, into the buffer starting at
|
|
619
|
-
# `offset`. If an error occurs, return
|
|
619
|
+
# `offset`. If an error occurs, return <code>-errno</code>.
|
|
620
620
|
#
|
|
621
621
|
# If `length` is not given or `nil`, it defaults to the size of the buffer minus
|
|
622
622
|
# the offset, i.e. the entire buffer.
|
|
@@ -756,8 +756,8 @@ class IO
|
|
|
756
756
|
# minus the specified offset. If the length is negative, it will raise an
|
|
757
757
|
# ArgumentError.
|
|
758
758
|
#
|
|
759
|
-
# Raises RuntimeError if the
|
|
760
|
-
# bounds.
|
|
759
|
+
# Raises RuntimeError if the <code>offset+length</code> is out of the current
|
|
760
|
+
# buffer's bounds.
|
|
761
761
|
#
|
|
762
762
|
# string = 'test'
|
|
763
763
|
# buffer = IO::Buffer.for(string).dup
|
|
@@ -841,7 +841,7 @@ class IO
|
|
|
841
841
|
# - write(io, [length, [offset]]) -> written length or -errno
|
|
842
842
|
# -->
|
|
843
843
|
# Write at least `length` bytes from the buffer starting at `offset`, into the
|
|
844
|
-
# `io`. If an error occurs, return
|
|
844
|
+
# `io`. If an error occurs, return <code>-errno</code>.
|
|
845
845
|
#
|
|
846
846
|
# If `length` is not given or `nil`, it defaults to the size of the buffer minus
|
|
847
847
|
# the offset, i.e. the entire buffer.
|
|
@@ -854,7 +854,7 @@ class IO
|
|
|
854
854
|
# out = File.open('output.txt', 'wb')
|
|
855
855
|
# IO::Buffer.for('1234567').write(out, 3)
|
|
856
856
|
#
|
|
857
|
-
# This leads to `123` being written into
|
|
857
|
+
# This leads to `123` being written into <code>output.txt</code>
|
|
858
858
|
#
|
|
859
859
|
def write: (untyped, untyped) -> untyped
|
|
860
860
|
|
data/core/io/wait.rbs
CHANGED
|
@@ -8,17 +8,17 @@ class IO
|
|
|
8
8
|
# Waits until the IO becomes ready for the specified events and returns the
|
|
9
9
|
# subset of events that become ready, or a falsy value when times out.
|
|
10
10
|
#
|
|
11
|
-
# The events can be a bit mask of
|
|
12
|
-
#
|
|
11
|
+
# The events can be a bit mask of <code>IO::READABLE</code>,
|
|
12
|
+
# <code>IO::WRITABLE</code> or <code>IO::PRIORITY</code>.
|
|
13
13
|
#
|
|
14
14
|
# Returns an event mask (truthy value) immediately when buffered data is
|
|
15
15
|
# available.
|
|
16
16
|
#
|
|
17
|
-
# The second form: if one or more event symbols (
|
|
18
|
-
#
|
|
19
|
-
# corresponding to those symbols. In this form,
|
|
20
|
-
# order of the arguments is arbitrary, and returns
|
|
21
|
-
# ready.
|
|
17
|
+
# The second form: if one or more event symbols (<code>:read</code>,
|
|
18
|
+
# <code>:write</code>, or <code>:read_write</code>) are passed, the event mask
|
|
19
|
+
# is the bit OR of the bitmask corresponding to those symbols. In this form,
|
|
20
|
+
# `timeout` is optional, the order of the arguments is arbitrary, and returns
|
|
21
|
+
# `io` if any of the events is ready.
|
|
22
22
|
#
|
|
23
23
|
def wait: (Integer events, ?Time::_Timeout timeout) -> (Integer | false | nil)
|
|
24
24
|
| (?Time::_Timeout? timeout, *wait_mode mode) -> (self | true | false)
|