rbs 3.9.5 → 3.10.0.pre.1
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/.clang-format +74 -0
- data/.clangd +2 -0
- data/.github/workflows/c-check.yml +54 -0
- data/.github/workflows/comments.yml +3 -3
- data/.github/workflows/ruby.yml +34 -19
- data/.github/workflows/typecheck.yml +1 -1
- data/.github/workflows/windows.yml +1 -1
- data/.gitignore +4 -0
- data/README.md +38 -1
- data/Rakefile +152 -23
- data/config.yml +190 -62
- data/core/array.rbs +44 -43
- data/core/dir.rbs +2 -2
- data/core/encoding.rbs +3 -2
- data/core/enumerable.rbs +89 -2
- data/core/errno.rbs +8 -0
- data/core/errors.rbs +28 -1
- data/core/exception.rbs +2 -2
- data/core/fiber.rbs +3 -3
- data/core/file.rbs +26 -11
- data/core/float.rbs +1 -1
- data/core/gc.rbs +422 -281
- data/core/hash.rbs +1024 -727
- data/core/io/wait.rbs +11 -33
- data/core/io.rbs +6 -4
- data/core/kernel.rbs +49 -43
- data/core/marshal.rbs +1 -1
- data/core/match_data.rbs +1 -1
- data/core/math.rbs +42 -3
- data/core/method.rbs +14 -6
- data/core/module.rbs +71 -11
- data/core/nil_class.rbs +3 -3
- data/core/numeric.rbs +8 -8
- data/core/object.rbs +3 -3
- data/core/object_space.rbs +13 -0
- data/{stdlib/pathname/0 → core}/pathname.rbs +253 -352
- data/core/proc.rbs +15 -8
- data/core/process.rbs +2 -2
- data/core/ractor.rbs +278 -437
- data/core/range.rbs +6 -7
- data/core/rbs/unnamed/argf.rbs +1 -1
- data/core/rbs/unnamed/env_class.rbs +1 -1
- data/core/rbs/unnamed/random.rbs +4 -2
- data/core/regexp.rbs +22 -17
- data/core/ruby_vm.rbs +6 -4
- data/core/rubygems/errors.rbs +3 -70
- data/core/rubygems/rubygems.rbs +11 -79
- data/core/set.rbs +439 -332
- data/core/string.rbs +2897 -1117
- data/core/struct.rbs +1 -1
- data/core/symbol.rbs +4 -4
- data/core/thread.rbs +83 -20
- data/core/time.rbs +35 -9
- data/core/unbound_method.rbs +14 -6
- data/docs/aliases.md +79 -0
- data/docs/collection.md +2 -2
- data/docs/gem.md +0 -1
- data/docs/sigs.md +3 -3
- data/ext/rbs_extension/ast_translation.c +1016 -0
- data/ext/rbs_extension/ast_translation.h +37 -0
- data/ext/rbs_extension/class_constants.c +157 -0
- data/{include/rbs/constants.h → ext/rbs_extension/class_constants.h} +7 -1
- data/ext/rbs_extension/compat.h +10 -0
- data/ext/rbs_extension/extconf.rb +25 -1
- data/ext/rbs_extension/legacy_location.c +317 -0
- data/ext/rbs_extension/legacy_location.h +45 -0
- data/ext/rbs_extension/main.c +365 -14
- data/ext/rbs_extension/rbs_extension.h +6 -21
- data/ext/rbs_extension/rbs_string_bridging.c +9 -0
- data/ext/rbs_extension/rbs_string_bridging.h +24 -0
- data/include/rbs/ast.h +687 -0
- data/include/rbs/defines.h +86 -0
- data/include/rbs/lexer.h +199 -0
- data/include/rbs/location.h +59 -0
- data/include/rbs/parser.h +135 -0
- data/include/rbs/string.h +49 -0
- data/include/rbs/util/rbs_allocator.h +59 -0
- data/include/rbs/util/rbs_assert.h +20 -0
- data/include/rbs/util/rbs_buffer.h +83 -0
- data/include/rbs/util/rbs_constant_pool.h +6 -67
- data/include/rbs/util/rbs_encoding.h +282 -0
- data/include/rbs/util/rbs_unescape.h +23 -0
- data/include/rbs.h +1 -2
- data/lib/rbs/annotate/formatter.rb +3 -13
- data/lib/rbs/annotate/rdoc_annotator.rb +3 -1
- data/lib/rbs/annotate/rdoc_source.rb +1 -1
- data/lib/rbs/cli/validate.rb +2 -2
- data/lib/rbs/cli.rb +1 -1
- data/lib/rbs/collection/config/lockfile_generator.rb +1 -0
- data/lib/rbs/definition_builder/ancestor_builder.rb +5 -5
- data/lib/rbs/environment.rb +64 -59
- data/lib/rbs/environment_loader.rb +1 -1
- data/lib/rbs/errors.rb +1 -1
- data/lib/rbs/parser_aux.rb +5 -0
- data/lib/rbs/resolver/constant_resolver.rb +2 -2
- data/lib/rbs/resolver/type_name_resolver.rb +124 -38
- data/lib/rbs/test/type_check.rb +13 -0
- data/lib/rbs/types.rb +3 -1
- data/lib/rbs/version.rb +1 -1
- data/lib/rbs.rb +1 -1
- data/lib/rdoc/discover.rb +1 -1
- data/lib/rdoc_plugin/parser.rb +3 -3
- data/sig/annotate/formatter.rbs +2 -2
- data/sig/annotate/rdoc_annotater.rbs +1 -1
- data/sig/environment.rbs +57 -6
- data/sig/manifest.yaml +0 -1
- data/sig/parser.rbs +20 -0
- data/sig/resolver/type_name_resolver.rbs +38 -7
- data/sig/types.rbs +4 -1
- data/src/ast.c +1256 -0
- data/src/lexer.c +2956 -0
- data/src/lexer.re +147 -0
- data/src/lexstate.c +205 -0
- data/src/location.c +71 -0
- data/src/parser.c +3495 -0
- data/src/string.c +90 -0
- data/src/util/rbs_allocator.c +152 -0
- data/src/util/rbs_assert.c +21 -0
- data/src/util/rbs_buffer.c +54 -0
- data/src/util/rbs_constant_pool.c +16 -86
- data/src/util/rbs_encoding.c +21308 -0
- data/src/util/rbs_unescape.c +131 -0
- data/stdlib/cgi/0/core.rbs +2 -396
- data/stdlib/cgi/0/manifest.yaml +1 -0
- data/stdlib/cgi-escape/0/escape.rbs +153 -0
- data/stdlib/coverage/0/coverage.rbs +3 -1
- data/stdlib/delegate/0/delegator.rbs +10 -7
- data/stdlib/erb/0/erb.rbs +737 -347
- data/stdlib/fileutils/0/fileutils.rbs +18 -13
- data/stdlib/forwardable/0/forwardable.rbs +3 -0
- data/stdlib/json/0/json.rbs +67 -48
- data/stdlib/net-http/0/net-http.rbs +3 -0
- data/stdlib/objspace/0/objspace.rbs +8 -3
- data/stdlib/open-uri/0/open-uri.rbs +40 -0
- data/stdlib/openssl/0/openssl.rbs +182 -149
- data/stdlib/optparse/0/optparse.rbs +3 -3
- data/stdlib/rdoc/0/code_object.rbs +2 -2
- data/stdlib/rdoc/0/comment.rbs +2 -0
- data/stdlib/rdoc/0/options.rbs +76 -0
- data/stdlib/rdoc/0/rdoc.rbs +7 -5
- data/stdlib/rdoc/0/store.rbs +1 -1
- data/stdlib/resolv/0/resolv.rbs +25 -68
- data/stdlib/ripper/0/ripper.rbs +5 -2
- data/stdlib/singleton/0/singleton.rbs +3 -0
- data/stdlib/socket/0/socket.rbs +13 -1
- data/stdlib/socket/0/tcp_socket.rbs +10 -2
- data/stdlib/stringio/0/stringio.rbs +412 -80
- data/stdlib/strscan/0/string_scanner.rbs +31 -31
- data/stdlib/tempfile/0/tempfile.rbs +1 -1
- data/stdlib/tsort/0/cyclic.rbs +3 -0
- data/stdlib/uri/0/common.rbs +11 -2
- data/stdlib/uri/0/file.rbs +1 -1
- data/stdlib/uri/0/generic.rbs +16 -15
- data/stdlib/uri/0/rfc2396_parser.rbs +6 -7
- data/stdlib/zlib/0/zstream.rbs +1 -0
- metadata +41 -18
- data/ext/rbs_extension/lexer.c +0 -2728
- data/ext/rbs_extension/lexer.h +0 -179
- data/ext/rbs_extension/lexer.re +0 -147
- data/ext/rbs_extension/lexstate.c +0 -175
- data/ext/rbs_extension/location.c +0 -325
- data/ext/rbs_extension/location.h +0 -85
- data/ext/rbs_extension/parser.c +0 -2982
- data/ext/rbs_extension/parser.h +0 -18
- data/ext/rbs_extension/parserstate.c +0 -411
- data/ext/rbs_extension/parserstate.h +0 -163
- data/ext/rbs_extension/unescape.c +0 -32
- data/include/rbs/ruby_objs.h +0 -72
- data/src/constants.c +0 -153
- data/src/ruby_objs.c +0 -799
data/core/proc.rbs
CHANGED
|
@@ -201,8 +201,8 @@
|
|
|
201
201
|
# ["Bob", "Jane"].map(&hi) #=> ["Hi, Bob!", "Hi, Jane!"]
|
|
202
202
|
# ["Bob", "Jane"].map(&hey) #=> ["Hey, Bob!", "Hey, Jane!"]
|
|
203
203
|
#
|
|
204
|
-
# Of the Ruby core classes, this method is implemented by Symbol
|
|
205
|
-
# Hash
|
|
204
|
+
# Of the Ruby core classes, this method is implemented by `Symbol`, `Method`,
|
|
205
|
+
# and `Hash`.
|
|
206
206
|
#
|
|
207
207
|
# :to_s.to_proc.call(1) #=> "1"
|
|
208
208
|
# [1, 2].map(&:to_s) #=> ["1", "2"]
|
|
@@ -285,7 +285,7 @@
|
|
|
285
285
|
# [1, 2, 3].each { |x| p it }
|
|
286
286
|
# # syntax error found (SyntaxError)
|
|
287
287
|
# # [1, 2, 3].each { |x| p it }
|
|
288
|
-
# # ^~
|
|
288
|
+
# # ^~ 'it' is not allowed when an ordinary parameter is defined
|
|
289
289
|
#
|
|
290
290
|
# But if a local name (variable or method) is available, it would be used:
|
|
291
291
|
#
|
|
@@ -302,7 +302,7 @@
|
|
|
302
302
|
#
|
|
303
303
|
# p = proc { it**2 }
|
|
304
304
|
# l = lambda { it**2 }
|
|
305
|
-
# p.parameters # => [[:opt
|
|
305
|
+
# p.parameters # => [[:opt]]
|
|
306
306
|
# p.arity # => 1
|
|
307
307
|
# l.parameters # => [[:req]]
|
|
308
308
|
# l.arity # => 1
|
|
@@ -332,7 +332,7 @@
|
|
|
332
332
|
# Numbered parameters can't be mixed with `it` either:
|
|
333
333
|
#
|
|
334
334
|
# [10, 20, 30].map { _1 + it }
|
|
335
|
-
# # SyntaxError:
|
|
335
|
+
# # SyntaxError: 'it' is not allowed when a numbered parameter is already used
|
|
336
336
|
#
|
|
337
337
|
# To avoid conflicts, naming local variables or method arguments `_1`, `_2` and
|
|
338
338
|
# so on, causes an error.
|
|
@@ -835,10 +835,17 @@ class Proc
|
|
|
835
835
|
|
|
836
836
|
# <!--
|
|
837
837
|
# rdoc-file=proc.c
|
|
838
|
-
# - prc.source_location -> [String, Integer]
|
|
838
|
+
# - prc.source_location -> [String, Integer, Integer, Integer, Integer]
|
|
839
839
|
# -->
|
|
840
|
-
# Returns the
|
|
841
|
-
#
|
|
840
|
+
# Returns the location where the Proc was defined. The returned Array contains:
|
|
841
|
+
# (1) the Ruby source filename
|
|
842
|
+
# (2) the line number where the definition starts
|
|
843
|
+
# (3) the column number where the definition starts
|
|
844
|
+
# (4) the line number where the definition ends
|
|
845
|
+
# (5) the column number where the definitions ends
|
|
846
|
+
#
|
|
847
|
+
# This method will return `nil` if the Proc was not defined in Ruby (i.e.
|
|
848
|
+
# native).
|
|
842
849
|
#
|
|
843
850
|
def source_location: () -> [String, Integer]?
|
|
844
851
|
|
data/core/process.rbs
CHANGED
|
@@ -590,7 +590,7 @@ module Process
|
|
|
590
590
|
# * `:microsecond`: Number of microseconds as an integer.
|
|
591
591
|
# * `:millisecond`: Number of milliseconds as an integer.
|
|
592
592
|
# * `:nanosecond`: Number of nanoseconds as an integer.
|
|
593
|
-
# *
|
|
593
|
+
# * `:second`: Number of seconds as an integer.
|
|
594
594
|
#
|
|
595
595
|
# Examples:
|
|
596
596
|
#
|
|
@@ -2023,7 +2023,7 @@ end
|
|
|
2023
2023
|
# <!-- rdoc-file=process.c -->
|
|
2024
2024
|
# The Process::Sys module contains UID and GID functions which provide direct
|
|
2025
2025
|
# bindings to the system calls of the same names instead of the more-portable
|
|
2026
|
-
# versions of the same functionality found in the Process
|
|
2026
|
+
# versions of the same functionality found in the `Process`, Process::UID, and
|
|
2027
2027
|
# Process::GID modules.
|
|
2028
2028
|
#
|
|
2029
2029
|
module Process::Sys
|