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/struct.rbs
CHANGED
@@ -46,7 +46,6 @@
|
|
46
46
|
# * Includes [module Enumerable](rdoc-ref:Enumerable@What-27s+Here), which
|
47
47
|
# provides dozens of additional methods.
|
48
48
|
#
|
49
|
-
#
|
50
49
|
# See also Data, which is a somewhat similar, but stricter concept for defining
|
51
50
|
# immutable value objects.
|
52
51
|
#
|
@@ -61,17 +60,14 @@
|
|
61
60
|
# * [Iterating](rdoc-ref:Struct@Methods+for+Iterating)
|
62
61
|
# * [Converting](rdoc-ref:Struct@Methods+for+Converting)
|
63
62
|
#
|
64
|
-
#
|
65
63
|
# ### Methods for Creating a Struct Subclass
|
66
64
|
#
|
67
65
|
# * ::new: Returns a new subclass of Struct.
|
68
66
|
#
|
69
|
-
#
|
70
67
|
# ### Methods for Querying
|
71
68
|
#
|
72
69
|
# * #hash: Returns the integer hash code.
|
73
|
-
# * #
|
74
|
-
#
|
70
|
+
# * #size (aliased as #length): Returns the number of members.
|
75
71
|
#
|
76
72
|
# ### Methods for Comparing
|
77
73
|
#
|
@@ -80,36 +76,32 @@
|
|
80
76
|
# * #eql?: Returns whether a given object is equal to `self`, using `eql?` to
|
81
77
|
# compare member values.
|
82
78
|
#
|
83
|
-
#
|
84
79
|
# ### Methods for Fetching
|
85
80
|
#
|
86
81
|
# * #[]: Returns the value associated with a given member name.
|
87
|
-
# * #to_a
|
88
|
-
# array.
|
82
|
+
# * #to_a (aliased as #values, #deconstruct): Returns the member values in
|
83
|
+
# `self` as an array.
|
89
84
|
# * #deconstruct_keys: Returns a hash of the name/value pairs for given member
|
90
85
|
# names.
|
91
86
|
# * #dig: Returns the object in nested objects that is specified by a given
|
92
87
|
# member name and additional arguments.
|
93
88
|
# * #members: Returns an array of the member names.
|
94
|
-
# * #select
|
95
|
-
# selected by the given block.
|
89
|
+
# * #select (aliased as #filter): Returns an array of member values from
|
90
|
+
# `self`, as selected by the given block.
|
96
91
|
# * #values_at: Returns an array containing values for given member names.
|
97
92
|
#
|
98
|
-
#
|
99
93
|
# ### Methods for Assigning
|
100
94
|
#
|
101
95
|
# * #[]=: Assigns a given value to a given member name.
|
102
96
|
#
|
103
|
-
#
|
104
97
|
# ### Methods for Iterating
|
105
98
|
#
|
106
99
|
# * #each: Calls a given block with each member name.
|
107
100
|
# * #each_pair: Calls a given block with each member name/value pair.
|
108
101
|
#
|
109
|
-
#
|
110
102
|
# ### Methods for Converting
|
111
103
|
#
|
112
|
-
# * #inspect
|
104
|
+
# * #inspect (aliased as #to_s): Returns a string representation of `self`.
|
113
105
|
# * #to_h: Returns a hash of the member name/value pairs in `self`.
|
114
106
|
#
|
115
107
|
class Struct[Elem]
|
@@ -133,7 +125,6 @@ class Struct[Elem]
|
|
133
125
|
# * May have members as given by `member_names`.
|
134
126
|
# * May have initialization via ordinary arguments, or via keyword arguments
|
135
127
|
#
|
136
|
-
#
|
137
128
|
# The new subclass has its own method `::new`; thus:
|
138
129
|
#
|
139
130
|
# Foo = Struct.new('Foo', :foo, :bar) # => Struct::Foo
|
@@ -215,7 +206,6 @@ class Struct[Elem]
|
|
215
206
|
#
|
216
207
|
# Foo.members # => [:foo, :bar]
|
217
208
|
#
|
218
|
-
#
|
219
209
|
# **Keyword Argument**
|
220
210
|
#
|
221
211
|
# By default, the arguments for initializing an instance of the new subclass can
|
@@ -285,7 +275,6 @@ class Struct[Elem]
|
|
285
275
|
# * `other.class == self.class`.
|
286
276
|
# * For each member name `name`, `other.name == self.name`.
|
287
277
|
#
|
288
|
-
#
|
289
278
|
# Examples:
|
290
279
|
#
|
291
280
|
# Customer = Struct.new(:name, :address, :zip)
|
@@ -315,7 +304,6 @@ class Struct[Elem]
|
|
315
304
|
# joe_jr[:name] = 'Joe Smith, Jr.'
|
316
305
|
# joe_jr.eql?(joe) # => false
|
317
306
|
#
|
318
|
-
#
|
319
307
|
# Related: Object#==.
|
320
308
|
#
|
321
309
|
def eql?: (untyped other) -> bool
|
data/core/symbol.rbs
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
# <!-- rdoc-file=string.c -->
|
2
|
-
# Symbol
|
2
|
+
# A `Symbol` object represents a named identifier inside the Ruby interpreter.
|
3
3
|
#
|
4
|
-
# You can create a Symbol object explicitly with:
|
4
|
+
# You can create a `Symbol` object explicitly with:
|
5
5
|
#
|
6
6
|
# * A [symbol literal](rdoc-ref:syntax/literals.rdoc@Symbol+Literals).
|
7
7
|
#
|
8
|
-
#
|
9
|
-
# The same Symbol object will be created for a given name or string for the
|
8
|
+
# The same `Symbol` object will be created for a given name or string for the
|
10
9
|
# duration of a program's execution, regardless of the context or meaning of
|
11
10
|
# that name. Thus if `Fred` is a constant in one context, a method in another,
|
12
|
-
# and a class in a third, the Symbol `:Fred` will be the same object in all
|
11
|
+
# and a class in a third, the `Symbol` `:Fred` will be the same object in all
|
13
12
|
# three contexts.
|
14
13
|
#
|
15
14
|
# module One
|
@@ -52,24 +51,22 @@
|
|
52
51
|
# local_variables
|
53
52
|
# # => [:seven]
|
54
53
|
#
|
55
|
-
# Symbol
|
56
|
-
#
|
54
|
+
# A `Symbol` object differs from a String object in that a `Symbol` object
|
55
|
+
# represents an identifier, while a String object represents text or data.
|
57
56
|
#
|
58
57
|
# ## What's Here
|
59
58
|
#
|
60
|
-
# First, what's elsewhere. Class Symbol
|
59
|
+
# First, what's elsewhere. Class `Symbol`:
|
61
60
|
#
|
62
61
|
# * Inherits from [class Object](rdoc-ref:Object@What-27s+Here).
|
63
62
|
# * Includes [module Comparable](rdoc-ref:Comparable@What-27s+Here).
|
64
63
|
#
|
65
|
-
#
|
66
|
-
# Here, class Symbol provides methods that are useful for:
|
64
|
+
# Here, class `Symbol` provides methods that are useful for:
|
67
65
|
#
|
68
66
|
# * [Querying](rdoc-ref:Symbol@Methods+for+Querying)
|
69
67
|
# * [Comparing](rdoc-ref:Symbol@Methods+for+Comparing)
|
70
68
|
# * [Converting](rdoc-ref:Symbol@Methods+for+Converting)
|
71
69
|
#
|
72
|
-
#
|
73
70
|
# ### Methods for Querying
|
74
71
|
#
|
75
72
|
# * ::all_symbols: Returns an array of the symbols currently in Ruby's symbol
|
@@ -90,7 +87,6 @@
|
|
90
87
|
# * #start_with?: Returns `true` if symbol starts with any of the given
|
91
88
|
# strings.
|
92
89
|
#
|
93
|
-
#
|
94
90
|
# ### Methods for Comparing
|
95
91
|
#
|
96
92
|
# * #<=>: Returns -1, 0, or 1 as a given symbol is smaller than, equal to, or
|
@@ -102,7 +98,6 @@
|
|
102
98
|
# * #casecmp?: Returns `true` if symbol is equal to a given symbol after
|
103
99
|
# Unicode case folding; `false` otherwise.
|
104
100
|
#
|
105
|
-
#
|
106
101
|
# ### Methods for Converting
|
107
102
|
#
|
108
103
|
# * #capitalize: Returns symbol with the first character upcased and all other
|
@@ -310,12 +305,10 @@ class Symbol
|
|
310
305
|
#
|
311
306
|
def end_with?: (*string suffixes) -> bool
|
312
307
|
|
313
|
-
# <!--
|
314
|
-
#
|
315
|
-
#
|
316
|
-
#
|
317
|
-
#
|
318
|
-
# Related: Symbol#inspect, Symbol#name.
|
308
|
+
# <!--
|
309
|
+
# rdoc-file=symbol.rb
|
310
|
+
# - id2name()
|
311
|
+
# -->
|
319
312
|
#
|
320
313
|
alias id2name to_s
|
321
314
|
|
@@ -375,7 +368,7 @@ class Symbol
|
|
375
368
|
def next: () -> Symbol
|
376
369
|
|
377
370
|
# <!--
|
378
|
-
# rdoc-file=
|
371
|
+
# rdoc-file=symbol.rb
|
379
372
|
# - name -> string
|
380
373
|
# -->
|
381
374
|
# Returns a frozen string representation of `self` (not including the leading
|
@@ -446,7 +439,7 @@ class Symbol
|
|
446
439
|
def to_proc: () -> Proc
|
447
440
|
|
448
441
|
# <!--
|
449
|
-
# rdoc-file=
|
442
|
+
# rdoc-file=symbol.rb
|
450
443
|
# - to_s -> string
|
451
444
|
# -->
|
452
445
|
# Returns a string representation of `self` (not including the leading colon):
|
data/core/thread.rbs
CHANGED
@@ -485,7 +485,6 @@ class Thread < Object
|
|
485
485
|
# * On Windows it is the thread identifier returned by GetThreadId().
|
486
486
|
# * On other platforms, it raises NotImplementedError.
|
487
487
|
#
|
488
|
-
#
|
489
488
|
# NOTE: If the thread is not associated yet or already deassociated with a
|
490
489
|
# native thread, it returns *nil*. If the Ruby implementation uses M:N thread
|
491
490
|
# model, the ID may change depending on the timing.
|
@@ -614,12 +613,16 @@ class Thread < Object
|
|
614
613
|
#
|
615
614
|
# `"sleep"`
|
616
615
|
# : Returned if this thread is sleeping or waiting on I/O
|
616
|
+
#
|
617
617
|
# `"run"`
|
618
618
|
# : When this thread is executing
|
619
|
+
#
|
619
620
|
# `"aborting"`
|
620
621
|
# : If this thread is aborting
|
622
|
+
#
|
621
623
|
# `false`
|
622
624
|
# : When this thread is terminated normally
|
625
|
+
#
|
623
626
|
# `nil`
|
624
627
|
# : If terminated with an exception.
|
625
628
|
#
|
@@ -819,7 +822,7 @@ class Thread < Object
|
|
819
822
|
|
820
823
|
# <!--
|
821
824
|
# rdoc-file=vm_backtrace.c
|
822
|
-
# - Thread.each_caller_location{ |loc| ... } -> nil
|
825
|
+
# - Thread.each_caller_location(...) { |loc| ... } -> nil
|
823
826
|
# -->
|
824
827
|
# Yields each frame of the current execution stack as a backtrace location
|
825
828
|
# object.
|
@@ -873,8 +876,10 @@ class Thread < Object
|
|
873
876
|
#
|
874
877
|
# `:immediate`
|
875
878
|
# : Invoke interrupts immediately.
|
879
|
+
#
|
876
880
|
# `:on_blocking`
|
877
881
|
# : Invoke interrupts while *BlockingOperation*.
|
882
|
+
#
|
878
883
|
# `:never`
|
879
884
|
# : Never invoke all interrupts.
|
880
885
|
#
|
@@ -923,30 +928,6 @@ class Thread < Object
|
|
923
928
|
# resource allocation code. Then, the ensure block is where we can safely
|
924
929
|
# deallocate your resources.
|
925
930
|
#
|
926
|
-
# #### Guarding from Timeout::Error
|
927
|
-
#
|
928
|
-
# In the next example, we will guard from the Timeout::Error exception. This
|
929
|
-
# will help prevent from leaking resources when Timeout::Error exceptions occur
|
930
|
-
# during normal ensure clause. For this example we use the help of the standard
|
931
|
-
# library Timeout, from lib/timeout.rb
|
932
|
-
#
|
933
|
-
# require 'timeout'
|
934
|
-
# Thread.handle_interrupt(Timeout::Error => :never) {
|
935
|
-
# timeout(10){
|
936
|
-
# # Timeout::Error doesn't occur here
|
937
|
-
# Thread.handle_interrupt(Timeout::Error => :on_blocking) {
|
938
|
-
# # possible to be killed by Timeout::Error
|
939
|
-
# # while blocking operation
|
940
|
-
# }
|
941
|
-
# # Timeout::Error doesn't occur here
|
942
|
-
# }
|
943
|
-
# }
|
944
|
-
#
|
945
|
-
# In the first part of the `timeout` block, we can rely on Timeout::Error being
|
946
|
-
# ignored. Then in the `Timeout::Error => :on_blocking` block, any operation
|
947
|
-
# that will block the calling thread is susceptible to a Timeout::Error
|
948
|
-
# exception being raised.
|
949
|
-
#
|
950
931
|
# #### Stack control settings
|
951
932
|
#
|
952
933
|
# It's possible to stack multiple levels of ::handle_interrupt blocks in order
|
@@ -992,7 +973,7 @@ class Thread < Object
|
|
992
973
|
# from prog.rb:2
|
993
974
|
#
|
994
975
|
def raise: (?String message) -> nil
|
995
|
-
| (_Exception, ?_ToS message, ?Array[String] backtrace) -> nil
|
976
|
+
| (_Exception, ?_ToS message, ?Array[Thread::Backtrace::Location] | Array[String] | nil backtrace) -> nil
|
996
977
|
|
997
978
|
# <!--
|
998
979
|
# rdoc-file=thread.c
|
@@ -1130,7 +1111,6 @@ class Thread < Object
|
|
1130
1111
|
# However, this might handle the exception much later, or not at all if the
|
1131
1112
|
# Thread is never joined due to the parent thread being blocked, etc.
|
1132
1113
|
#
|
1133
|
-
#
|
1134
1114
|
# See also ::report_on_exception=.
|
1135
1115
|
#
|
1136
1116
|
# There is also an instance level method to set this for a specific thread, see
|
@@ -1318,9 +1298,28 @@ class Thread::Backtrace::Location
|
|
1318
1298
|
# rdoc-file=vm_backtrace.c
|
1319
1299
|
# - base_label()
|
1320
1300
|
# -->
|
1321
|
-
# Returns the base label of this frame
|
1301
|
+
# Returns the base label of this frame, which is usually equal to the label,
|
1302
|
+
# without decoration.
|
1322
1303
|
#
|
1323
|
-
#
|
1304
|
+
# Consider the following example:
|
1305
|
+
#
|
1306
|
+
# def foo
|
1307
|
+
# puts caller_locations(0).first.base_label
|
1308
|
+
#
|
1309
|
+
# 1.times do
|
1310
|
+
# puts caller_locations(0).first.base_label
|
1311
|
+
#
|
1312
|
+
# 1.times do
|
1313
|
+
# puts caller_locations(0).first.base_label
|
1314
|
+
# end
|
1315
|
+
# end
|
1316
|
+
# end
|
1317
|
+
#
|
1318
|
+
# The result of calling `foo` is this:
|
1319
|
+
#
|
1320
|
+
# foo
|
1321
|
+
# foo
|
1322
|
+
# foo
|
1324
1323
|
#
|
1325
1324
|
def base_label: () -> String?
|
1326
1325
|
|
@@ -1343,15 +1342,14 @@ class Thread::Backtrace::Location
|
|
1343
1342
|
# 1.times do
|
1344
1343
|
# puts caller_locations(0).first.label
|
1345
1344
|
# end
|
1346
|
-
#
|
1347
1345
|
# end
|
1348
1346
|
# end
|
1349
1347
|
#
|
1350
1348
|
# The result of calling `foo` is this:
|
1351
1349
|
#
|
1352
|
-
#
|
1353
|
-
#
|
1354
|
-
#
|
1350
|
+
# foo
|
1351
|
+
# block in foo
|
1352
|
+
# block (2 levels) in foo
|
1355
1353
|
#
|
1356
1354
|
def label: () -> String?
|
1357
1355
|
|
@@ -1578,7 +1576,6 @@ class Thread::Queue[Elem = untyped] < Object
|
|
1578
1576
|
# * when `empty?` is true, deq(false) will not suspend the thread and will
|
1579
1577
|
# return nil. deq(true) will raise a `ThreadError`.
|
1580
1578
|
#
|
1581
|
-
#
|
1582
1579
|
# ClosedQueueError is inherited from StopIteration, so that you can break loop
|
1583
1580
|
# block.
|
1584
1581
|
#
|