rbs 3.7.0 → 3.8.0.pre.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/comments.yml +3 -3
- data/.github/workflows/ruby.yml +7 -7
- data/CHANGELOG.md +52 -0
- data/core/array.rbs +1743 -1580
- data/core/basic_object.rbs +38 -35
- data/core/comparable.rbs +1 -1
- data/core/complex.rbs +165 -93
- data/core/data.rbs +1 -1
- data/core/dir.rbs +1 -17
- data/core/encoding.rbs +12 -6
- data/core/enumerable.rbs +270 -266
- data/core/enumerator.rbs +0 -2
- data/core/env.rbs +1 -1
- data/core/errno.rbs +33 -16
- data/core/errors.rbs +2 -2
- data/core/exception.rbs +236 -170
- data/core/fiber.rbs +3 -2
- data/core/file.rbs +32 -74
- data/core/float.rbs +125 -72
- data/core/gc.rbs +138 -40
- data/core/hash.rbs +120 -141
- data/core/integer.rbs +79 -50
- data/core/io/buffer.rbs +49 -43
- data/core/io.rbs +97 -144
- data/core/kernel.rbs +290 -200
- data/core/match_data.rbs +76 -2
- data/core/math.rbs +0 -36
- data/core/module.rbs +28 -23
- data/core/nil_class.rbs +0 -3
- data/core/numeric.rbs +100 -103
- data/core/object.rbs +0 -4
- data/core/object_space/weak_key_map.rbs +3 -4
- data/core/object_space.rbs +3 -3
- data/core/proc.rbs +0 -2
- data/core/process.rbs +109 -57
- data/core/ractor.rbs +37 -4
- data/core/range.rbs +114 -87
- data/core/rational.rbs +0 -2
- data/core/rbs/unnamed/argf.rbs +234 -33
- data/core/rbs/unnamed/env_class.rbs +35 -53
- data/core/rbs/unnamed/random.rbs +1 -2
- data/core/regexp.rbs +4 -52
- data/core/ruby_vm.rbs +88 -9
- data/core/rubygems/config_file.rbs +3 -0
- data/core/rubygems/errors.rbs +0 -5
- data/core/rubygems/platform.rbs +0 -9
- data/core/rubygems/rubygems.rbs +0 -5
- data/core/rubygems/version.rbs +6 -6
- data/core/set.rbs +3 -15
- data/core/string.rbs +130 -136
- data/core/struct.rbs +6 -18
- data/core/symbol.rbs +14 -21
- data/core/thread.rbs +32 -35
- data/core/time.rbs +127 -50
- data/core/trace_point.rbs +16 -0
- data/core/true_class.rbs +0 -1
- data/core/warning.rbs +9 -2
- data/docs/architecture.md +1 -1
- data/docs/syntax.md +1 -1
- data/ext/rbs_extension/location.c +29 -19
- data/ext/rbs_extension/parser.c +267 -292
- data/ext/rbs_extension/parserstate.c +56 -22
- data/lib/rbs/annotate/annotations.rb +3 -3
- data/lib/rbs/annotate/rdoc_source.rb +2 -2
- data/lib/rbs/cli/diff.rb +3 -3
- data/lib/rbs/cli/validate.rb +1 -1
- data/lib/rbs/cli.rb +13 -13
- data/lib/rbs/collection/config.rb +3 -1
- data/lib/rbs/definition_builder/ancestor_builder.rb +3 -3
- data/lib/rbs/environment_loader.rb +1 -1
- data/lib/rbs/namespace.rb +1 -0
- data/lib/rbs/parser_aux.rb +2 -2
- data/lib/rbs/prototype/rb.rb +11 -8
- data/lib/rbs/prototype/rbi.rb +9 -5
- data/lib/rbs/prototype/runtime/value_object_generator.rb +7 -5
- data/lib/rbs/prototype/runtime.rb +4 -5
- data/lib/rbs/type_name.rb +14 -9
- data/lib/rbs/unit_test/type_assertions.rb +2 -2
- data/lib/rbs/validator.rb +3 -1
- data/lib/rbs/version.rb +1 -1
- data/lib/rdoc_plugin/parser.rb +2 -2
- data/rbs.gemspec +4 -0
- data/sig/ancestor_graph.rbs +4 -4
- data/sig/namespace.rbs +2 -3
- data/sig/resolver/constant_resolver.rbs +2 -2
- data/sig/resolver/context.rbs +1 -1
- data/sig/type_alias_regularity.rbs +5 -5
- data/sig/typename.rbs +8 -5
- data/sig/use_map.rbs +1 -1
- data/sig/validator.rbs +2 -2
- data/stdlib/base64/0/base64.rbs +0 -9
- data/stdlib/benchmark/0/benchmark.rbs +11 -2
- data/stdlib/bigdecimal/0/big_decimal.rbs +26 -182
- data/stdlib/cgi/0/core.rbs +47 -0
- data/stdlib/coverage/0/coverage.rbs +0 -3
- data/stdlib/csv/0/csv.rbs +18 -58
- data/stdlib/date/0/date.rbs +4 -19
- data/stdlib/did_you_mean/0/did_you_mean.rbs +0 -5
- data/stdlib/digest/0/digest.rbs +25 -2
- data/stdlib/erb/0/erb.rbs +0 -1
- data/stdlib/etc/0/etc.rbs +51 -34
- data/stdlib/fileutils/0/fileutils.rbs +3 -44
- data/stdlib/io-console/0/io-console.rbs +69 -15
- data/stdlib/ipaddr/0/ipaddr.rbs +8 -4
- data/stdlib/json/0/json.rbs +56 -71
- data/stdlib/logger/0/log_device.rbs +1 -1
- data/stdlib/logger/0/logger.rbs +3 -18
- data/stdlib/net-http/0/net-http.rbs +19 -77
- data/stdlib/nkf/0/nkf.rbs +30 -0
- data/stdlib/objspace/0/objspace.rbs +1 -2
- data/stdlib/observable/0/observable.rbs +1 -1
- data/stdlib/open-uri/0/open-uri.rbs +52 -0
- data/stdlib/open3/0/open3.rbs +0 -8
- data/stdlib/openssl/0/openssl.rbs +136 -69
- data/stdlib/optparse/0/optparse.rbs +58 -18
- data/stdlib/pathname/0/pathname.rbs +2 -8
- data/stdlib/pp/0/pp.rbs +3 -1
- data/stdlib/prettyprint/0/prettyprint.rbs +0 -4
- data/stdlib/pstore/0/pstore.rbs +0 -6
- data/stdlib/psych/0/psych.rbs +15 -4
- data/stdlib/pty/0/pty.rbs +46 -4
- data/stdlib/rdoc/0/code_object.rbs +0 -4
- data/stdlib/rdoc/0/markup.rbs +10 -12
- data/stdlib/rdoc/0/rdoc.rbs +1 -2
- data/stdlib/resolv/0/resolv.rbs +8 -3
- data/stdlib/ripper/0/ripper.rbs +0 -2
- data/stdlib/securerandom/0/securerandom.rbs +0 -2
- data/stdlib/shellwords/0/shellwords.rbs +11 -12
- data/stdlib/singleton/0/singleton.rbs +0 -1
- data/stdlib/socket/0/addrinfo.rbs +0 -1
- data/stdlib/socket/0/basic_socket.rbs +0 -5
- data/stdlib/socket/0/socket.rbs +49 -25
- data/stdlib/socket/0/tcp_server.rbs +0 -3
- data/stdlib/socket/0/tcp_socket.rbs +58 -3
- data/stdlib/socket/0/udp_socket.rbs +0 -1
- data/stdlib/socket/0/unix_server.rbs +0 -3
- data/stdlib/strscan/0/string_scanner.rbs +1265 -422
- data/stdlib/tempfile/0/tempfile.rbs +135 -28
- data/stdlib/time/0/time.rbs +48 -35
- data/stdlib/timeout/0/timeout.rbs +11 -8
- data/stdlib/tmpdir/0/tmpdir.rbs +8 -1
- data/stdlib/tsort/0/tsort.rbs +0 -4
- data/stdlib/uri/0/common.rbs +11 -30
- data/stdlib/uri/0/ftp.rbs +1 -1
- data/stdlib/uri/0/generic.rbs +22 -18
- data/stdlib/uri/0/http.rbs +2 -2
- data/stdlib/uri/0/rfc2396_parser.rbs +3 -0
- data/stdlib/zlib/0/buf_error.rbs +1 -70
- data/stdlib/zlib/0/data_error.rbs +1 -70
- data/stdlib/zlib/0/deflate.rbs +8 -72
- data/stdlib/zlib/0/error.rbs +1 -70
- data/stdlib/zlib/0/gzip_file/crc_error.rbs +2 -105
- data/stdlib/zlib/0/gzip_file/error.rbs +2 -105
- data/stdlib/zlib/0/gzip_file/length_error.rbs +2 -105
- data/stdlib/zlib/0/gzip_file/no_footer.rbs +2 -105
- data/stdlib/zlib/0/gzip_file.rbs +1 -71
- data/stdlib/zlib/0/gzip_reader.rbs +3 -74
- data/stdlib/zlib/0/gzip_writer.rbs +1 -70
- data/stdlib/zlib/0/inflate.rbs +4 -71
- data/stdlib/zlib/0/mem_error.rbs +1 -70
- data/stdlib/zlib/0/need_dict.rbs +1 -70
- data/stdlib/zlib/0/stream_end.rbs +1 -70
- data/stdlib/zlib/0/stream_error.rbs +1 -70
- data/stdlib/zlib/0/version_error.rbs +1 -70
- data/stdlib/zlib/0/zlib.rbs +0 -2
- data/stdlib/zlib/0/zstream.rbs +4 -72
- metadata +4 -6
data/core/dir.rbs
CHANGED
@@ -10,7 +10,6 @@
|
|
10
10
|
# retrieved in an [array-like fashion](rdoc-ref:Dir@Dir+As+Array-Like) or in
|
11
11
|
# a [stream-like fashion](rdoc-ref:Dir@Dir+As+Stream-Like).
|
12
12
|
#
|
13
|
-
#
|
14
13
|
# ## About the Examples
|
15
14
|
#
|
16
15
|
# Some examples on this page use this simple file tree:
|
@@ -33,7 +32,6 @@
|
|
33
32
|
# * It has instance methods #children, #each, and #each_child.
|
34
33
|
# * It includes [module Enumerable](rdoc-ref:Enumerable@What-27s+Here).
|
35
34
|
#
|
36
|
-
#
|
37
35
|
# ## Dir As Stream-Like
|
38
36
|
#
|
39
37
|
# A Dir object is in some ways stream-like.
|
@@ -54,7 +52,6 @@
|
|
54
52
|
# the position; if at end-of-stream, does not increment the position.
|
55
53
|
# * Method #rewind sets the position to zero.
|
56
54
|
#
|
57
|
-
#
|
58
55
|
# Examples (using the [simple file tree](rdoc-ref:Dir@About+the+Examples)):
|
59
56
|
#
|
60
57
|
# dir = Dir.new('example') # => #<Dir:example>
|
@@ -89,7 +86,6 @@
|
|
89
86
|
# * Includes [module Enumerable](rdoc-ref:Enumerable@What-27s+Here), which
|
90
87
|
# provides dozens of additional methods.
|
91
88
|
#
|
92
|
-
#
|
93
89
|
# Here, class Dir provides methods that are useful for:
|
94
90
|
#
|
95
91
|
# * [Reading](rdoc-ref:Dir@Reading)
|
@@ -98,7 +94,6 @@
|
|
98
94
|
# * [Iterating](rdoc-ref:Dir@Iterating)
|
99
95
|
# * [Other](rdoc-ref:Dir@Other)
|
100
96
|
#
|
101
|
-
#
|
102
97
|
# ### Reading
|
103
98
|
#
|
104
99
|
# * #close: Closes the directory stream for `self`.
|
@@ -110,7 +105,6 @@
|
|
110
105
|
# * #seek: Sets the position in the directory stream for `self` the entry at
|
111
106
|
# the given offset.
|
112
107
|
#
|
113
|
-
#
|
114
108
|
# ### Setting
|
115
109
|
#
|
116
110
|
# * ::chdir: Changes the working directory of the current process to the given
|
@@ -118,7 +112,6 @@
|
|
118
112
|
# * ::chroot: Changes the file-system root for the current process to the
|
119
113
|
# given directory.
|
120
114
|
#
|
121
|
-
#
|
122
115
|
# ### Querying
|
123
116
|
#
|
124
117
|
# * ::[]: Same as ::glob without the ability to pass flags.
|
@@ -141,7 +134,6 @@
|
|
141
134
|
# * #tell (aliased as #pos): Returns the integer position in the directory
|
142
135
|
# stream for `self`.
|
143
136
|
#
|
144
|
-
#
|
145
137
|
# ### Iterating
|
146
138
|
#
|
147
139
|
# * ::each_child: Calls the given block with each entry in the given
|
@@ -153,7 +145,6 @@
|
|
153
145
|
# * #each_child: Calls the given block with each entry in `self`, but not
|
154
146
|
# including `.` or `..`.
|
155
147
|
#
|
156
|
-
#
|
157
148
|
# ### Other
|
158
149
|
#
|
159
150
|
# * ::mkdir: Creates a directory at the given path, with optional permissions.
|
@@ -215,7 +206,6 @@ class Dir
|
|
215
206
|
# defined.
|
216
207
|
# * Otherwise makes no change.
|
217
208
|
#
|
218
|
-
#
|
219
209
|
# With argument `new_dirpath` and a block, temporarily changes the working
|
220
210
|
# directory:
|
221
211
|
#
|
@@ -225,7 +215,6 @@ class Dir
|
|
225
215
|
# * Restores the previous working directory.
|
226
216
|
# * Returns the block's return value.
|
227
217
|
#
|
228
|
-
#
|
229
218
|
# Example:
|
230
219
|
#
|
231
220
|
# Dir.chdir('/var/spool/mail')
|
@@ -395,7 +384,6 @@ class Dir
|
|
395
384
|
# * Restores the previous working directory.
|
396
385
|
# * Returns the block's return value.
|
397
386
|
#
|
398
|
-
#
|
399
387
|
# Example:
|
400
388
|
#
|
401
389
|
# Dir.chdir('/var/spool/mail')
|
@@ -504,7 +492,6 @@ class Dir
|
|
504
492
|
# * We use method Array#take to shorten returned arrays that otherwise would
|
505
493
|
# be very large.
|
506
494
|
#
|
507
|
-
#
|
508
495
|
# With no block, returns array *entry_names*; example (using the [simple file
|
509
496
|
# tree](rdoc-ref:Dir@About+the+Examples)):
|
510
497
|
#
|
@@ -564,7 +551,6 @@ class Dir
|
|
564
551
|
#
|
565
552
|
# Dir.glob('*c*').take(3) # => ["CONTRIBUTING.md", "COPYING", "COPYING.ja"]
|
566
553
|
#
|
567
|
-
#
|
568
554
|
# Does not match Unix-like hidden entry names ("dot files"). To include
|
569
555
|
# those in the matched entry names, use flag IO::FNM_DOTMATCH or something
|
570
556
|
# like `'{*,.*}'`.
|
@@ -600,7 +586,6 @@ class Dir
|
|
600
586
|
# Note that on Windows, the backslash character may not be used in a string
|
601
587
|
# pattern: `Dir['c:\\foo*']` will not work, use `Dir['c:/foo*']` instead.
|
602
588
|
#
|
603
|
-
#
|
604
589
|
# More examples (using the [simple file tree](rdoc-ref:Dir@About+the+Examples)):
|
605
590
|
#
|
606
591
|
# # We're in the example directory.
|
@@ -669,7 +654,7 @@ class Dir
|
|
669
654
|
# rdoc-file=dir.c
|
670
655
|
# - Dir.home(user_name = nil) -> dirpath
|
671
656
|
# -->
|
672
|
-
#
|
657
|
+
# Returns the home directory path of the user specified with `user_name` if it
|
673
658
|
# is not `nil`, or the current login user:
|
674
659
|
#
|
675
660
|
# Dir.home # => "/home/me"
|
@@ -779,7 +764,6 @@ class Dir
|
|
779
764
|
# * Restores the previous working directory.
|
780
765
|
# * Returns the block's return value.
|
781
766
|
#
|
782
|
-
#
|
783
767
|
# Uses Dir.fchdir if available, and Dir.chdir if not, see those methods for
|
784
768
|
# caveats.
|
785
769
|
#
|
data/core/encoding.rbs
CHANGED
@@ -12,7 +12,6 @@
|
|
12
12
|
# * The name of an encoding.
|
13
13
|
# * An alias for an encoding name.
|
14
14
|
#
|
15
|
-
#
|
16
15
|
# These are equivalent:
|
17
16
|
#
|
18
17
|
# 'foo'.encode(Encoding::US_ASCII) # Encoding object.
|
@@ -109,7 +108,6 @@ class Encoding
|
|
109
108
|
# * String#inspect
|
110
109
|
# * Regexp#inspect
|
111
110
|
#
|
112
|
-
#
|
113
111
|
# While strings created from these locations will have this encoding, the
|
114
112
|
# encoding may not be valid. Be sure to check String#valid_encoding?.
|
115
113
|
#
|
@@ -157,7 +155,6 @@ class Encoding
|
|
157
155
|
# * Values from ENV
|
158
156
|
# * Values in ARGV including $PROGRAM_NAME
|
159
157
|
#
|
160
|
-
#
|
161
158
|
# Additionally String#encode and String#encode! use the default internal
|
162
159
|
# encoding if no encoding is given.
|
163
160
|
#
|
@@ -198,10 +195,13 @@ class Encoding
|
|
198
195
|
#
|
199
196
|
# "external"
|
200
197
|
# : default external encoding
|
198
|
+
#
|
201
199
|
# "internal"
|
202
200
|
# : default internal encoding
|
201
|
+
#
|
203
202
|
# "locale"
|
204
203
|
# : locale encoding
|
204
|
+
#
|
205
205
|
# "filesystem"
|
206
206
|
# : filesystem encoding
|
207
207
|
#
|
@@ -999,7 +999,6 @@ class Encoding::Converter < Object
|
|
999
999
|
# :partial_input is specified.
|
1000
1000
|
# * conversion is finished (:finished)
|
1001
1001
|
#
|
1002
|
-
#
|
1003
1002
|
# example:
|
1004
1003
|
# ec = Encoding::Converter.new("UTF-8", "UTF-16BE")
|
1005
1004
|
# ret = ec.primitive_convert(src="pi", dst="", nil, 100)
|
@@ -1212,7 +1211,6 @@ class Encoding::Converter < Object
|
|
1212
1211
|
# * two-element arrays which contain encodings or encoding names, or
|
1213
1212
|
# * strings representing decorator names.
|
1214
1213
|
#
|
1215
|
-
#
|
1216
1214
|
# Encoding::Converter.new optionally takes an option. The option should be a
|
1217
1215
|
# hash or an integer. The option hash can contain :invalid => nil, etc. The
|
1218
1216
|
# option integer should be logical-or of constants such as
|
@@ -1220,25 +1218,34 @@ class Encoding::Converter < Object
|
|
1220
1218
|
#
|
1221
1219
|
# :invalid => nil
|
1222
1220
|
# : Raise error on invalid byte sequence. This is a default behavior.
|
1221
|
+
#
|
1223
1222
|
# :invalid => :replace
|
1224
1223
|
# : Replace invalid byte sequence by replacement string.
|
1224
|
+
#
|
1225
1225
|
# :undef => nil
|
1226
1226
|
# : Raise an error if a character in source_encoding is not defined in
|
1227
1227
|
# destination_encoding. This is a default behavior.
|
1228
|
+
#
|
1228
1229
|
# :undef => :replace
|
1229
1230
|
# : Replace undefined character in destination_encoding with replacement
|
1230
1231
|
# string.
|
1232
|
+
#
|
1231
1233
|
# :replace => string
|
1232
1234
|
# : Specify the replacement string. If not specified, "uFFFD" is used for
|
1233
1235
|
# Unicode encodings and "?" for others.
|
1236
|
+
#
|
1234
1237
|
# :universal_newline => true
|
1235
1238
|
# : Convert CRLF and CR to LF.
|
1239
|
+
#
|
1236
1240
|
# :crlf_newline => true
|
1237
1241
|
# : Convert LF to CRLF.
|
1242
|
+
#
|
1238
1243
|
# :cr_newline => true
|
1239
1244
|
# : Convert LF to CR.
|
1245
|
+
#
|
1240
1246
|
# :lf_newline => true
|
1241
1247
|
# : Convert CRLF and CR to LF (when writing).
|
1248
|
+
#
|
1242
1249
|
# :xml => :text
|
1243
1250
|
# : Escape as XML CharData. This form can be used as an HTML 4.0 #PCDATA.
|
1244
1251
|
# * '&' -> '&'
|
@@ -1258,7 +1265,6 @@ class Encoding::Converter < Object
|
|
1258
1265
|
# such as &#xHH;
|
1259
1266
|
#
|
1260
1267
|
#
|
1261
|
-
#
|
1262
1268
|
# Examples:
|
1263
1269
|
# # UTF-16BE to UTF-8
|
1264
1270
|
# ec = Encoding::Converter.new("UTF-16BE", "UTF-8")
|