rbs 3.7.0 → 3.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (169) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/comments.yml +3 -3
  3. data/.github/workflows/ruby.yml +7 -7
  4. data/CHANGELOG.md +68 -0
  5. data/core/array.rbs +1756 -1591
  6. data/core/basic_object.rbs +38 -35
  7. data/core/comparable.rbs +1 -1
  8. data/core/complex.rbs +166 -94
  9. data/core/data.rbs +1 -1
  10. data/core/dir.rbs +1 -17
  11. data/core/encoding.rbs +12 -32
  12. data/core/enumerable.rbs +270 -266
  13. data/core/enumerator.rbs +0 -2
  14. data/core/env.rbs +1 -1
  15. data/core/errno.rbs +33 -16
  16. data/core/errors.rbs +6 -2
  17. data/core/exception.rbs +235 -169
  18. data/core/fiber.rbs +3 -2
  19. data/core/file.rbs +26 -75
  20. data/core/float.rbs +125 -72
  21. data/core/gc.rbs +156 -40
  22. data/core/hash.rbs +122 -143
  23. data/core/integer.rbs +79 -50
  24. data/core/io/buffer.rbs +49 -43
  25. data/core/io.rbs +99 -146
  26. data/core/kernel.rbs +292 -202
  27. data/core/match_data.rbs +76 -2
  28. data/core/math.rbs +0 -36
  29. data/core/module.rbs +28 -23
  30. data/core/nil_class.rbs +2 -2
  31. data/core/numeric.rbs +101 -104
  32. data/core/object.rbs +0 -4
  33. data/core/object_space/weak_key_map.rbs +3 -4
  34. data/core/object_space.rbs +3 -3
  35. data/core/proc.rbs +80 -12
  36. data/core/process.rbs +109 -57
  37. data/core/ractor.rbs +54 -4
  38. data/core/range.rbs +114 -87
  39. data/core/rational.rbs +0 -2
  40. data/core/rbs/unnamed/argf.rbs +234 -33
  41. data/core/rbs/unnamed/env_class.rbs +35 -53
  42. data/core/rbs/unnamed/random.rbs +1 -2
  43. data/core/regexp.rbs +6 -54
  44. data/core/ruby_vm.rbs +88 -9
  45. data/core/rubygems/config_file.rbs +3 -0
  46. data/core/rubygems/errors.rbs +3 -6
  47. data/core/rubygems/platform.rbs +0 -9
  48. data/core/rubygems/rubygems.rbs +3 -6
  49. data/core/rubygems/version.rbs +6 -6
  50. data/core/set.rbs +3 -15
  51. data/core/string.rbs +256 -260
  52. data/core/struct.rbs +6 -18
  53. data/core/symbol.rbs +14 -21
  54. data/core/thread.rbs +32 -35
  55. data/core/time.rbs +131 -50
  56. data/core/trace_point.rbs +124 -113
  57. data/core/true_class.rbs +0 -1
  58. data/core/warning.rbs +9 -2
  59. data/docs/architecture.md +1 -1
  60. data/docs/syntax.md +1 -1
  61. data/ext/rbs_extension/location.c +29 -19
  62. data/ext/rbs_extension/parser.c +268 -293
  63. data/ext/rbs_extension/parserstate.c +56 -22
  64. data/lib/rbs/annotate/annotations.rb +3 -3
  65. data/lib/rbs/annotate/rdoc_source.rb +2 -2
  66. data/lib/rbs/cli/diff.rb +3 -3
  67. data/lib/rbs/cli/validate.rb +1 -1
  68. data/lib/rbs/cli.rb +13 -13
  69. data/lib/rbs/collection/config.rb +3 -1
  70. data/lib/rbs/definition_builder/ancestor_builder.rb +3 -3
  71. data/lib/rbs/environment_loader.rb +1 -1
  72. data/lib/rbs/namespace.rb +1 -0
  73. data/lib/rbs/parser_aux.rb +2 -2
  74. data/lib/rbs/prototype/rb.rb +11 -8
  75. data/lib/rbs/prototype/rbi.rb +9 -5
  76. data/lib/rbs/prototype/runtime/value_object_generator.rb +7 -5
  77. data/lib/rbs/prototype/runtime.rb +4 -5
  78. data/lib/rbs/type_name.rb +14 -9
  79. data/lib/rbs/types.rb +2 -1
  80. data/lib/rbs/unit_test/type_assertions.rb +2 -2
  81. data/lib/rbs/validator.rb +3 -1
  82. data/lib/rbs/version.rb +1 -1
  83. data/lib/rdoc_plugin/parser.rb +2 -2
  84. data/rbs.gemspec +4 -0
  85. data/sig/ancestor_graph.rbs +4 -4
  86. data/sig/namespace.rbs +2 -3
  87. data/sig/resolver/constant_resolver.rbs +2 -2
  88. data/sig/resolver/context.rbs +1 -1
  89. data/sig/type_alias_regularity.rbs +5 -5
  90. data/sig/typename.rbs +8 -5
  91. data/sig/use_map.rbs +1 -1
  92. data/sig/validator.rbs +2 -2
  93. data/stdlib/base64/0/base64.rbs +0 -9
  94. data/stdlib/benchmark/0/benchmark.rbs +11 -2
  95. data/stdlib/bigdecimal/0/big_decimal.rbs +26 -182
  96. data/stdlib/cgi/0/core.rbs +47 -0
  97. data/stdlib/coverage/0/coverage.rbs +0 -3
  98. data/stdlib/csv/0/csv.rbs +18 -58
  99. data/stdlib/date/0/date.rbs +27 -42
  100. data/stdlib/did_you_mean/0/did_you_mean.rbs +0 -5
  101. data/stdlib/digest/0/digest.rbs +25 -2
  102. data/stdlib/erb/0/erb.rbs +0 -1
  103. data/stdlib/etc/0/etc.rbs +51 -34
  104. data/stdlib/fileutils/0/fileutils.rbs +3 -44
  105. data/stdlib/io-console/0/io-console.rbs +69 -15
  106. data/stdlib/ipaddr/0/ipaddr.rbs +8 -4
  107. data/stdlib/json/0/json.rbs +56 -71
  108. data/stdlib/logger/0/log_device.rbs +1 -1
  109. data/stdlib/logger/0/logger.rbs +3 -18
  110. data/stdlib/net-http/0/net-http.rbs +39 -106
  111. data/stdlib/nkf/0/nkf.rbs +30 -0
  112. data/stdlib/objspace/0/objspace.rbs +1 -2
  113. data/stdlib/observable/0/observable.rbs +1 -1
  114. data/stdlib/open-uri/0/open-uri.rbs +52 -0
  115. data/stdlib/open3/0/open3.rbs +0 -8
  116. data/stdlib/openssl/0/openssl.rbs +136 -69
  117. data/stdlib/optparse/0/optparse.rbs +58 -18
  118. data/stdlib/pathname/0/pathname.rbs +2 -8
  119. data/stdlib/pp/0/pp.rbs +3 -1
  120. data/stdlib/prettyprint/0/prettyprint.rbs +0 -4
  121. data/stdlib/pstore/0/pstore.rbs +0 -6
  122. data/stdlib/psych/0/psych.rbs +15 -4
  123. data/stdlib/pty/0/pty.rbs +46 -4
  124. data/stdlib/rdoc/0/code_object.rbs +0 -4
  125. data/stdlib/rdoc/0/markup.rbs +10 -12
  126. data/stdlib/rdoc/0/rdoc.rbs +13 -8
  127. data/stdlib/resolv/0/resolv.rbs +13 -4
  128. data/stdlib/ripper/0/ripper.rbs +0 -2
  129. data/stdlib/securerandom/0/securerandom.rbs +7 -2
  130. data/stdlib/shellwords/0/shellwords.rbs +11 -12
  131. data/stdlib/singleton/0/singleton.rbs +0 -1
  132. data/stdlib/socket/0/addrinfo.rbs +0 -1
  133. data/stdlib/socket/0/basic_socket.rbs +0 -5
  134. data/stdlib/socket/0/socket.rbs +32 -27
  135. data/stdlib/socket/0/tcp_server.rbs +0 -3
  136. data/stdlib/socket/0/tcp_socket.rbs +36 -3
  137. data/stdlib/socket/0/udp_socket.rbs +0 -1
  138. data/stdlib/socket/0/unix_server.rbs +0 -3
  139. data/stdlib/strscan/0/string_scanner.rbs +1265 -422
  140. data/stdlib/tempfile/0/tempfile.rbs +135 -28
  141. data/stdlib/time/0/time.rbs +48 -35
  142. data/stdlib/timeout/0/timeout.rbs +11 -8
  143. data/stdlib/tmpdir/0/tmpdir.rbs +10 -3
  144. data/stdlib/tsort/0/tsort.rbs +0 -4
  145. data/stdlib/uri/0/common.rbs +11 -30
  146. data/stdlib/uri/0/ftp.rbs +1 -1
  147. data/stdlib/uri/0/generic.rbs +22 -18
  148. data/stdlib/uri/0/http.rbs +2 -2
  149. data/stdlib/uri/0/rfc2396_parser.rbs +3 -0
  150. data/stdlib/zlib/0/buf_error.rbs +1 -70
  151. data/stdlib/zlib/0/data_error.rbs +1 -70
  152. data/stdlib/zlib/0/deflate.rbs +8 -72
  153. data/stdlib/zlib/0/error.rbs +1 -70
  154. data/stdlib/zlib/0/gzip_file/crc_error.rbs +2 -105
  155. data/stdlib/zlib/0/gzip_file/error.rbs +2 -105
  156. data/stdlib/zlib/0/gzip_file/length_error.rbs +2 -105
  157. data/stdlib/zlib/0/gzip_file/no_footer.rbs +2 -105
  158. data/stdlib/zlib/0/gzip_file.rbs +1 -71
  159. data/stdlib/zlib/0/gzip_reader.rbs +3 -74
  160. data/stdlib/zlib/0/gzip_writer.rbs +1 -70
  161. data/stdlib/zlib/0/inflate.rbs +4 -71
  162. data/stdlib/zlib/0/mem_error.rbs +1 -70
  163. data/stdlib/zlib/0/need_dict.rbs +1 -70
  164. data/stdlib/zlib/0/stream_end.rbs +1 -70
  165. data/stdlib/zlib/0/stream_error.rbs +1 -70
  166. data/stdlib/zlib/0/version_error.rbs +1 -70
  167. data/stdlib/zlib/0/zlib.rbs +0 -2
  168. data/stdlib/zlib/0/zstream.rbs +4 -72
  169. metadata +3 -6
@@ -22,7 +22,6 @@ module Gem
22
22
  # 3. 1.0.a.2
23
23
  # 4. 0.9
24
24
  #
25
- #
26
25
  # If you want to specify a version restriction that includes both prereleases
27
26
  # and regular releases of the 1.x series this is the best way:
28
27
  #
@@ -46,7 +45,6 @@ module Gem
46
45
  # 3. The change may change the public interface of the library in such a way
47
46
  # that old software is no longer compatible.
48
47
  #
49
- #
50
48
  # Some examples are appropriate at this point. Suppose I have a Stack class
51
49
  # that supports a `push` and a `pop` method.
52
50
  #
@@ -56,7 +54,6 @@ module Gem
56
54
  # implementation.
57
55
  # * Provide an automatic (and transparent) backing store for large stacks.
58
56
  #
59
- #
60
57
  # ### Examples of Category 2 changes might be:
61
58
  #
62
59
  # * Add a `depth` method to return the current depth of the stack.
@@ -65,14 +62,12 @@ module Gem
65
62
  # * Change `push` so that it returns the item pushed (previously it had no
66
63
  # usable return value).
67
64
  #
68
- #
69
65
  # ### Examples of Category 3 changes might be:
70
66
  #
71
67
  # * Changes `pop` so that it no longer returns a value (you must use `top` to
72
68
  # get the top of the stack).
73
69
  # * Rename the methods to `push_item` and `pop_item`.
74
70
  #
75
- #
76
71
  # ## RubyGems Rational Versioning
77
72
  #
78
73
  # * Versions shall be represented by three non-negative integers, separated by
@@ -94,24 +89,29 @@ module Gem
94
89
  # generate builds all day long, but as soon as they make a public release,
95
90
  # the version must be updated.
96
91
  #
97
- #
98
92
  # ### Examples
99
93
  #
100
94
  # Let's work through a project lifecycle using our Stack example from above.
101
95
  #
102
96
  # Version 0.0.1
103
97
  # : The initial Stack class is release.
98
+ #
104
99
  # Version 0.0.2
105
100
  # : Switched to a linked=list implementation because it is cooler.
101
+ #
106
102
  # Version 0.1.0
107
103
  # : Added a `depth` method.
104
+ #
108
105
  # Version 1.0.0
109
106
  # : Added `top` and made `pop` return nil (`pop` used to return the old top
110
107
  # item).
108
+ #
111
109
  # Version 1.1.0
112
110
  # : `push` now returns the value pushed (it used it return nil).
111
+ #
113
112
  # Version 1.1.1
114
113
  # : Fixed a bug in the linked list implementation.
114
+ #
115
115
  # Version 1.1.2
116
116
  # : Fixed a bug introduced in the last fix.
117
117
  #
data/core/set.rbs CHANGED
@@ -16,7 +16,6 @@
16
16
  # set to an unreliable state.
17
17
  # * When a string is to be stored, a frozen copy of the string is
18
18
  # stored instead unless the original string is already frozen.
19
- #
20
19
  # ## Comparison
21
20
  # The comparison operators `<`, `>`, `<=`, and `>=` are implemented as
22
21
  # shorthand for the {proper_,}{subset?,superset?} methods. The `<=>`
@@ -34,13 +33,11 @@
34
33
  #
35
34
  # ## Contact
36
35
  # * Akinori MUSHA <mailto:knu@iDaemons.org> (current maintainer)
37
- #
38
36
  # ## What's Here
39
37
  # First, what's elsewhere. Class Set:
40
38
  # * Inherits from [class Object](rdoc-ref:Object@What-27s+Here).
41
39
  # * Includes [module Enumerable](rdoc-ref:Enumerable@What-27s+Here),
42
40
  # which provides dozens of additional methods.
43
- #
44
41
  # In particular, class Set does not have many methods of its own
45
42
  # for fetching or for iterating.
46
43
  # Instead, it relies on those in Enumerable.
@@ -54,7 +51,6 @@
54
51
  # * [Converting](#class-Set-label-Methods+for+Converting)
55
52
  # * [Iterating](#class-Set-label-Methods+for+Iterating)
56
53
  # * [And more....](#class-Set-label-Other+Methods)
57
- #
58
54
  # ### Methods for Creating a Set
59
55
  # * ::[]:
60
56
  # Returns a new set containing the given objects.
@@ -62,7 +58,6 @@
62
58
  # Returns a new set containing either the given objects
63
59
  # (if no block given) or the return values from the called block
64
60
  # (if a block given).
65
- #
66
61
  # ### Methods for Set Operations
67
62
  # * [|](#method-i-7C) (aliased as #union and #+):
68
63
  # Returns a new set containing all elements from `self`
@@ -76,7 +71,6 @@
76
71
  # * [\^](#method-i-5E):
77
72
  # Returns a new set containing all elements from `self`
78
73
  # and a given enumerable except those common to both.
79
- #
80
74
  # ### Methods for Comparing
81
75
  # * [<=>](#method-i-3C-3D-3E):
82
76
  # Returns -1, 0, or 1 as `self` is less than, equal to,
@@ -87,7 +81,6 @@
87
81
  # * #compare_by_identity?:
88
82
  # Returns whether the set considers only identity
89
83
  # when comparing elements.
90
- #
91
84
  # ### Methods for Querying
92
85
  # * #length (aliased as #size):
93
86
  # Returns the count of elements.
@@ -112,7 +105,6 @@
112
105
  # * #compare_by_identity?:
113
106
  # Returns whether the set considers only identity
114
107
  # when comparing elements.
115
- #
116
108
  # ### Methods for Assigning
117
109
  # * #add (aliased as #<<):
118
110
  # Adds a given object to the set; returns `self`.
@@ -125,7 +117,6 @@
125
117
  # * #replace:
126
118
  # Replaces the contents of the set with the contents
127
119
  # of a given enumerable.
128
- #
129
120
  # ### Methods for Deleting
130
121
  # * #clear:
131
122
  # Removes all elements in the set; returns `self`.
@@ -143,7 +134,6 @@
143
134
  # Removes elements not specified by a given block.
144
135
  # * #reject!
145
136
  # Removes elements specified by a given block.
146
- #
147
137
  # ### Methods for Converting
148
138
  # * #classify:
149
139
  # Returns a hash that classifies the elements,
@@ -170,11 +160,9 @@
170
160
  # Returns `self` if given no arguments and no block;
171
161
  # with a block given, returns a new set consisting of block
172
162
  # return values.
173
- #
174
163
  # ### Methods for Iterating
175
164
  # * #each:
176
165
  # Calls the block with each successive element; returns `self`.
177
- #
178
166
  # ### Other Methods
179
167
  # * #reset:
180
168
  # Resets the internal state; useful if an object
@@ -400,7 +388,7 @@ class Set[unchecked out A]
400
388
 
401
389
  # <!--
402
390
  # rdoc-file=lib/set.rb
403
- # - delete_if() { |o| ... }
391
+ # - delete_if(&block)
404
392
  # -->
405
393
  # Deletes every element of the set for which block evaluates to
406
394
  # true, and returns self. Returns an enumerator if no block is
@@ -504,7 +492,7 @@ class Set[unchecked out A]
504
492
 
505
493
  # <!--
506
494
  # rdoc-file=lib/set.rb
507
- # - keep_if() { |o| ... }
495
+ # - keep_if(&block)
508
496
  # -->
509
497
  # Deletes every element of the set for which block evaluates to
510
498
  # false, and returns self. Returns an enumerator if no block is
@@ -612,7 +600,7 @@ class Set[unchecked out A]
612
600
  # rdoc-file=lib/set.rb
613
601
  # - to_a()
614
602
  # -->
615
- # Converts the set to an array. The order of elements is uncertain.
603
+ # Returns an array containing all elements in the set.
616
604
  # Set[1, 2].to_a #=> [1, 2]
617
605
  # Set[1, 'c', :s].to_a #=> [1, "c", :s]
618
606
  #