rbs 1.3.3 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +26 -0
- data/Rakefile +4 -0
- data/core/array.rbs +8 -7
- data/core/enumerable.rbs +11 -10
- data/core/enumerator.rbs +2 -2
- data/core/exception.rbs +1 -0
- data/core/false_class.rbs +4 -4
- data/core/float.rbs +1 -1
- data/core/global_variables.rbs +180 -0
- data/core/hash.rbs +7 -7
- data/core/integer.rbs +1 -2
- data/core/io.rbs +7 -3
- data/core/kernel.rbs +25 -2
- data/core/object.rbs +1 -1
- data/core/range.rbs +11 -9
- data/core/true_class.rbs +4 -4
- data/lib/rbs.rb +1 -0
- data/lib/rbs/cli.rb +1 -0
- data/lib/rbs/errors.rb +16 -0
- data/lib/rbs/parser.rb +1 -1
- data/lib/rbs/parser.y +1 -1
- data/lib/rbs/prototype/rb.rb +8 -1
- data/lib/rbs/prototype/runtime.rb +1 -1
- data/lib/rbs/type_alias_dependency.rb +88 -0
- data/lib/rbs/validator.rb +5 -0
- data/lib/rbs/version.rb +1 -1
- data/sig/errors.rbs +9 -0
- data/sig/type_alias_dependency.rbs +22 -0
- data/sig/validator.rbs +2 -0
- data/stdlib/openssl/0/openssl.rbs +3711 -0
- data/stdlib/pathname/0/pathname.rbs +2 -2
- data/stdlib/rubygems/0/rubygems.rbs +1 -1
- data/stdlib/securerandom/0/securerandom.rbs +3 -1
- data/stdlib/uri/0/generic.rbs +3 -3
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '019689814b3a1a5d0c1b88e2fc433acb328795f7b71c0a42889ac79bab50eb23'
|
4
|
+
data.tar.gz: d7669d77ad9fcd0a211586b9f4cfcdeaee51c22d53c98f439da69a0321728021
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 01101a55594365a082d5ed34ac6ca58e94ad79f275efb94e22cc381578755f210e14a984f77bc63c7eab118967c3f6774051b5c67a034ded2635a0081f19dc48
|
7
|
+
data.tar.gz: 4ebe708ff34901816c8d0dfd012e9e68b7fe28e65b4a7c6101ef4f1ef284e9a44c103287f40f0f7582f93bda3f4b8a85a1c834dbff01a4b3758791d3b9388087
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,32 @@
|
|
2
2
|
|
3
3
|
## master
|
4
4
|
|
5
|
+
## 1.4.0 (2021-08-19)
|
6
|
+
|
7
|
+
This release includes feature enhancements including recursive `type` definition validation, improved compatibility of global variable names, and various method type updates.
|
8
|
+
|
9
|
+
### Signature updates
|
10
|
+
|
11
|
+
* openssl ([\#743](https://github.com/ruby/rbs/pull/743))
|
12
|
+
* `Array`, `Enumerator`, `Enumerable`, `Hash`, `FalseClass`, `Float`, `Hash`, `Integer`, `Object`, `Range`, `TrueClass` ([\#728](https://github.com/ruby/rbs/pull/728))
|
13
|
+
* `Array#[]` ([\#732](https://github.com/ruby/rbs/pull/732))
|
14
|
+
* `Exception#set_backtrace` ([\#738](https://github.com/ruby/rbs/pull/738))
|
15
|
+
* `Kernel#Array` ([\#733](https://github.com/ruby/rbs/pull/733))
|
16
|
+
* `Kernel#spawn` ([\#748](https://github.com/ruby/rbs/pull/748))
|
17
|
+
* `Kernel#String` ([\#745](https://github.com/ruby/rbs/pull/745), [\#751](https://github.com/ruby/rbs/pull/751))
|
18
|
+
* `URI::Generic#fragment` ([\#752](https://github.com/ruby/rbs/pull/752))
|
19
|
+
* `URI::Generic#merge` ([\#746](https://github.com/ruby/rbs/pull/746))
|
20
|
+
|
21
|
+
### Language updates
|
22
|
+
|
23
|
+
* Add global variables signature ([\#749](https://github.com/ruby/rbs/pull/749))
|
24
|
+
|
25
|
+
### Library changes
|
26
|
+
|
27
|
+
* Add Recursiive type alias defnition validation ([\#719](https://github.com/ruby/rbs/pull/719))
|
28
|
+
* Generate included modules with complete name ([\#731](https://github.com/ruby/rbs/pull/731))
|
29
|
+
* Fix `rbs-prototype-rb` error when multi assign with const ([\#740](https://github.com/ruby/rbs/pull/740))
|
30
|
+
|
5
31
|
## 1.3.3 (2021-07-28)
|
6
32
|
|
7
33
|
This release includes a minor update of `resolv` library RBS and a fix of test for `ruby/ruby` CI.
|
data/Rakefile
CHANGED
data/core/array.rbs
CHANGED
@@ -452,7 +452,7 @@ class Array[unchecked out Elem] < Object
|
|
452
452
|
#
|
453
453
|
def []: (int index) -> Elem
|
454
454
|
| (int start, int length) -> ::Array[Elem]?
|
455
|
-
| (::Range[::Integer] range) -> ::Array[Elem]?
|
455
|
+
| (::Range[::Integer?] range) -> ::Array[Elem]?
|
456
456
|
|
457
457
|
# Element Assignment --- Sets the element at `index`, or replaces a subarray
|
458
458
|
# from the `start` index for `length` elements, or replaces a subarray specified
|
@@ -486,9 +486,9 @@ class Array[unchecked out Elem] < Object
|
|
486
486
|
| (int start, int length, Elem obj) -> Elem
|
487
487
|
| (int start, int length, ::Array[Elem]) -> ::Array[Elem]
|
488
488
|
| (int start, int length, nil) -> nil
|
489
|
-
| (::Range[::Integer], Elem obj) -> Elem
|
490
|
-
| (::Range[::Integer], ::Array[Elem]) -> ::Array[Elem]
|
491
|
-
| (::Range[::Integer], nil) -> nil
|
489
|
+
| (::Range[::Integer?], Elem obj) -> Elem
|
490
|
+
| (::Range[::Integer?], ::Array[Elem]) -> ::Array[Elem]
|
491
|
+
| (::Range[::Integer?], nil) -> nil
|
492
492
|
|
493
493
|
# See also Enumerable#all?
|
494
494
|
#
|
@@ -576,7 +576,8 @@ class Array[unchecked out Elem] < Object
|
|
576
576
|
# true/false, or always return a number. It is undefined which value is
|
577
577
|
# actually picked up at each iteration.
|
578
578
|
#
|
579
|
-
def bsearch: ()
|
579
|
+
def bsearch: () -> ::Enumerator[Elem, Elem?]
|
580
|
+
| () { (Elem) -> (true | false) } -> Elem?
|
580
581
|
| () { (Elem) -> ::Integer } -> Elem?
|
581
582
|
|
582
583
|
# By using binary search, finds an index of a value from this array which meets
|
@@ -855,7 +856,7 @@ class Array[unchecked out Elem] < Object
|
|
855
856
|
# 0 -- 1 -- 2 --
|
856
857
|
#
|
857
858
|
def each_index: () { (::Integer index) -> void } -> self
|
858
|
-
| () -> ::Enumerator[
|
859
|
+
| () -> ::Enumerator[::Integer, self]
|
859
860
|
|
860
861
|
# Returns `true` if `self` contains no elements.
|
861
862
|
#
|
@@ -1585,7 +1586,7 @@ class Array[unchecked out Elem] < Object
|
|
1585
1586
|
# a.sample(4, random: Random.new(1)) #=> [6, 10, 9, 2]
|
1586
1587
|
#
|
1587
1588
|
def sample: (?random: _Rand rng) -> Elem?
|
1588
|
-
| (
|
1589
|
+
| (int n, ?random: _Rand rng) -> ::Array[Elem]
|
1589
1590
|
|
1590
1591
|
# Returns a new array containing all elements of `ary` for which the given
|
1591
1592
|
# `block` returns a true value.
|
data/core/enumerable.rbs
CHANGED
@@ -48,7 +48,8 @@ module Enumerable[unchecked out Elem]: _Each[Elem]
|
|
48
48
|
def collect: [U] () { (Elem arg0) -> U } -> ::Array[U]
|
49
49
|
| () -> ::Enumerator[Elem, ::Array[untyped]]
|
50
50
|
|
51
|
-
def collect_concat: [U] () { (Elem
|
51
|
+
def collect_concat: [U] () { (Elem) -> (::Array[U] | U) } -> ::Array[U]
|
52
|
+
| () -> ::Enumerator[Elem, ::Array[untyped]]
|
52
53
|
|
53
54
|
# Returns the number of items in `enum` through enumeration. If an
|
54
55
|
# argument is given, the number of items in `enum` that are equal to
|
@@ -79,11 +80,11 @@ module Enumerable[unchecked out Elem]: _Each[Elem]
|
|
79
80
|
def each_cons: (Integer n) { (::Array[Elem] arg0) -> untyped } -> NilClass
|
80
81
|
| (Integer n) -> ::Enumerator[::Array[Elem], NilClass]
|
81
82
|
|
82
|
-
def each_with_index: () { (Elem
|
83
|
-
| () -> ::Enumerator[[ Elem, Integer ],
|
83
|
+
def each_with_index: () { (Elem, Integer index) -> untyped } -> self
|
84
|
+
| () -> ::Enumerator[[ Elem, Integer ], self]
|
84
85
|
|
85
|
-
def each_with_object: [U] (U
|
86
|
-
| [U] (U
|
86
|
+
def each_with_object: [U] (U obj) { (Elem, U obj) -> untyped } -> U
|
87
|
+
| [U] (U obj) -> ::Enumerator[[ Elem, U ], U]
|
87
88
|
|
88
89
|
# Returns an array containing the items in *enum* .
|
89
90
|
#
|
@@ -102,7 +103,7 @@ module Enumerable[unchecked out Elem]: _Each[Elem]
|
|
102
103
|
alias select find_all
|
103
104
|
alias filter find_all
|
104
105
|
|
105
|
-
def find_index: (
|
106
|
+
def find_index: (untyped value) -> Integer?
|
106
107
|
| () { (Elem) -> boolish } -> Integer?
|
107
108
|
| () -> ::Enumerator[Elem, Integer?]
|
108
109
|
|
@@ -123,8 +124,8 @@ module Enumerable[unchecked out Elem]: _Each[Elem]
|
|
123
124
|
def grep: (untyped arg0) -> ::Array[Elem]
|
124
125
|
| [U] (untyped arg0) { (Elem arg0) -> U } -> ::Array[U]
|
125
126
|
|
126
|
-
def grep_v: (untyped
|
127
|
-
| [U] (untyped
|
127
|
+
def grep_v: (untyped) -> ::Array[Elem]
|
128
|
+
| [U] (untyped) { (Elem) -> U } -> ::Array[U]
|
128
129
|
|
129
130
|
def group_by: [U] () { (Elem arg0) -> U } -> ::Hash[U, ::Array[Elem]]
|
130
131
|
| () -> ::Enumerator[Elem, ::Array[Elem]]
|
@@ -410,8 +411,8 @@ module Enumerable[unchecked out Elem]: _Each[Elem]
|
|
410
411
|
def zip: [Elem2] (::Enumerable[Elem2] enum) -> ::Array[[Elem, Elem2 | nil]]
|
411
412
|
| [U, Elem2] (::Enumerable[Elem2]) { ([Elem, Elem2 | nil]) -> U } -> nil
|
412
413
|
|
413
|
-
def chunk: [U] () { (Elem elt) -> U } -> ::Enumerator[[U, Array[Elem]], void]
|
414
|
-
| () -> ::Enumerator[Elem, Enumerator[untyped,
|
414
|
+
def chunk: [U] () { (Elem elt) -> U } -> ::Enumerator[[U, ::Array[Elem]], void]
|
415
|
+
| () -> ::Enumerator[Elem, ::Enumerator[[untyped, ::Array[Elem]], void]]
|
415
416
|
|
416
417
|
def chunk_while: () { (Elem elt_before, Elem elt_after) -> boolish } -> ::Enumerator[::Array[Elem], void]
|
417
418
|
|
data/core/enumerator.rbs
CHANGED
@@ -238,8 +238,8 @@ class Enumerator[unchecked out Elem, out Return] < Object
|
|
238
238
|
def with_index: (?Integer offset) { (Elem arg0, Integer arg1) -> untyped } -> Return
|
239
239
|
| (?Integer offset) -> ::Enumerator[[ Elem, Integer ], Return]
|
240
240
|
|
241
|
-
def with_object: [U] (U
|
242
|
-
| [U] (U
|
241
|
+
def with_object: [U] (U obj) { (Elem, U obj) -> untyped } -> U
|
242
|
+
| [U] (U obj) -> ::Enumerator[[ Elem, U ], U]
|
243
243
|
end
|
244
244
|
|
245
245
|
class Enumerator::Generator[out Elem] < Object
|
data/core/exception.rbs
CHANGED
data/core/false_class.rbs
CHANGED
@@ -5,12 +5,12 @@
|
|
5
5
|
class FalseClass
|
6
6
|
public
|
7
7
|
|
8
|
-
def !: () ->
|
8
|
+
def !: () -> true
|
9
9
|
|
10
10
|
# And---Returns `false`. *obj* is always evaluated as it is the argument to a
|
11
11
|
# method call---there is no short-circuit evaluation in this case.
|
12
12
|
#
|
13
|
-
def &: (untyped obj) ->
|
13
|
+
def &: (untyped obj) -> false
|
14
14
|
|
15
15
|
# Case Equality -- For class Object, effectively the same as calling `#==`, but
|
16
16
|
# typically overridden by descendants to provide meaningful semantics in `case`
|
@@ -24,7 +24,7 @@ class FalseClass
|
|
24
24
|
#
|
25
25
|
def ^: (nil) -> false
|
26
26
|
| (false) -> false
|
27
|
-
| (untyped obj) ->
|
27
|
+
| (untyped obj) -> true
|
28
28
|
|
29
29
|
alias inspect to_s
|
30
30
|
|
@@ -36,5 +36,5 @@ class FalseClass
|
|
36
36
|
#
|
37
37
|
def |: (nil) -> false
|
38
38
|
| (false) -> false
|
39
|
-
| (untyped obj) ->
|
39
|
+
| (untyped obj) -> true
|
40
40
|
end
|
data/core/float.rbs
CHANGED
@@ -0,0 +1,180 @@
|
|
1
|
+
# The Exception object set by Kernel#raise.
|
2
|
+
$!: Exception | nil
|
3
|
+
|
4
|
+
# The array contains the module names loaded by require.
|
5
|
+
$": Array[String]
|
6
|
+
|
7
|
+
# The process number of the Ruby running this script. Same as Process.pid.
|
8
|
+
$$: Integer
|
9
|
+
|
10
|
+
# The string matched by the last successful match.
|
11
|
+
$&: String | nil
|
12
|
+
|
13
|
+
# The string to the right of the last successful match.
|
14
|
+
$': String | nil
|
15
|
+
|
16
|
+
# The same as ARGV.
|
17
|
+
$*: Array[String]
|
18
|
+
|
19
|
+
# The highest group matched by the last successful match.
|
20
|
+
$+: String | nil
|
21
|
+
|
22
|
+
# The output field separator for Kernel#print and Array#join. Non-nil $, will be deprecated.
|
23
|
+
$,: String | nil
|
24
|
+
|
25
|
+
# The input record separator, newline by default.
|
26
|
+
$-0: String | nil
|
27
|
+
|
28
|
+
# The default separator for String#split. Non-nil $; will be deprecated.
|
29
|
+
$-F: Regexp | String | nil
|
30
|
+
|
31
|
+
# Load path for searching Ruby scripts and extension libraries used
|
32
|
+
# by Kernel#load and Kernel#require.
|
33
|
+
# Has a singleton method <code>$LOAD_PATH.resolve_feature_path(feature)</code>
|
34
|
+
# that returns [+:rb+ or +:so+, path], which resolves the feature to
|
35
|
+
# the path the original Kernel#require method would load.
|
36
|
+
$-I: Array[String]
|
37
|
+
|
38
|
+
$-W: 0 | 1 | 2
|
39
|
+
|
40
|
+
# True if option <tt>-a</tt> is set. Read-only variable.
|
41
|
+
$-a: bool
|
42
|
+
|
43
|
+
# The debug flag, which is set by the <tt>-d</tt> switch. Enabling debug
|
44
|
+
# output prints each exception raised to $stderr (but not its
|
45
|
+
# backtrace). Setting this to a true value enables debug output as
|
46
|
+
# if <tt>-d</tt> were given on the command line. Setting this to a false
|
47
|
+
# value disables debug output.
|
48
|
+
$-d: bool
|
49
|
+
|
50
|
+
# In in-place-edit mode, this variable holds the extension, otherwise +nil+.
|
51
|
+
$-i: bool
|
52
|
+
|
53
|
+
# True if option <tt>-l</tt> is set. Read-only variable.
|
54
|
+
$-l: bool
|
55
|
+
|
56
|
+
# True if option <tt>-p</tt> is set. Read-only variable.
|
57
|
+
$-p: bool
|
58
|
+
|
59
|
+
# The verbose flag, which is set by the <tt>-w</tt> or <tt>-v</tt> switch.
|
60
|
+
# Setting this to a true value enables warnings as if <tt>-w</tt> or <tt>-v</tt> were given
|
61
|
+
# on the command line. Setting this to +nil+ disables warnings,
|
62
|
+
# including from Kernel#warn.
|
63
|
+
$-v: bool | nil
|
64
|
+
|
65
|
+
# The verbose flag, which is set by the <tt>-w</tt> or <tt>-v</tt> switch.
|
66
|
+
# Setting this to a true value enables warnings as if <tt>-w</tt> or <tt>-v</tt> were given
|
67
|
+
# on the command line. Setting this to +nil+ disables warnings,
|
68
|
+
# including from Kernel#warn.
|
69
|
+
$-w: bool | nil
|
70
|
+
|
71
|
+
# The current input line number of the last file that was read.
|
72
|
+
$.: Integer
|
73
|
+
|
74
|
+
# The input record separator, newline by default. Aliased to $-0.
|
75
|
+
$/: String | nil
|
76
|
+
|
77
|
+
# The same as $!.backtrace.
|
78
|
+
$0: String
|
79
|
+
|
80
|
+
# The Nth group of the last successful match. May be > 1.
|
81
|
+
$1: String | nil
|
82
|
+
|
83
|
+
# The Nth group of the last successful match. May be > 1.
|
84
|
+
$2: String | nil
|
85
|
+
|
86
|
+
# The Nth group of the last successful match. May be > 1.
|
87
|
+
$3: String | nil
|
88
|
+
|
89
|
+
# The Nth group of the last successful match. May be > 1.
|
90
|
+
$4: String | nil
|
91
|
+
|
92
|
+
# The Nth group of the last successful match. May be > 1.
|
93
|
+
$5: String | nil
|
94
|
+
|
95
|
+
# The Nth group of the last successful match. May be > 1.
|
96
|
+
$6: String | nil
|
97
|
+
|
98
|
+
# The Nth group of the last successful match. May be > 1.
|
99
|
+
$7: String | nil
|
100
|
+
|
101
|
+
# The Nth group of the last successful match. May be > 1.
|
102
|
+
$8: String | nil
|
103
|
+
|
104
|
+
# The Nth group of the last successful match. May be > 1.
|
105
|
+
$9: String | nil
|
106
|
+
|
107
|
+
# Load path for searching Ruby scripts and extension libraries used
|
108
|
+
# by Kernel#load and Kernel#require.
|
109
|
+
# Has a singleton method <code>$LOAD_PATH.resolve_feature_path(feature)</code>
|
110
|
+
# that returns [+:rb+ or +:so+, path], which resolves the feature to
|
111
|
+
# the path the original Kernel#require method would load.
|
112
|
+
$:: Array[String]
|
113
|
+
|
114
|
+
# The default separator for String#split. Non-nil $; will be deprecated. Aliased to $-F.
|
115
|
+
$;: Regexp | String | nil
|
116
|
+
|
117
|
+
# The same as ARGF.
|
118
|
+
$<: IO
|
119
|
+
|
120
|
+
# This variable is no longer effective. Deprecated.
|
121
|
+
$=: bool
|
122
|
+
|
123
|
+
# The default output stream for Kernel#print and Kernel#printf. $stdout by default.
|
124
|
+
$>: IO
|
125
|
+
|
126
|
+
# The status of the last executed child process (thread-local).
|
127
|
+
$?: Process::Status | nil
|
128
|
+
|
129
|
+
# The same as <code>$!.backtrace</code>.
|
130
|
+
$@: Array[String] | nil
|
131
|
+
|
132
|
+
# The debug flag, which is set by the <tt>-d</tt> switch. Enabling debug
|
133
|
+
# output prints each exception raised to $stderr (but not its
|
134
|
+
# backtrace). Setting this to a true value enables debug output as
|
135
|
+
# if <tt>-d</tt> were given on the command line. Setting this to a false
|
136
|
+
# value disables debug output. Aliased to $-d.
|
137
|
+
$DEBUG: bool
|
138
|
+
|
139
|
+
# Current input filename from ARGF. Same as ARGF.filename.
|
140
|
+
$FILENAME: String
|
141
|
+
|
142
|
+
# The array contains the module names loaded by require.
|
143
|
+
$LOADED_FEATURES: Array[String]
|
144
|
+
|
145
|
+
# Load path for searching Ruby scripts and extension libraries used
|
146
|
+
# by Kernel#load and Kernel#require. Aliased to $: and $-I.
|
147
|
+
# Has a singleton method <code>$LOAD_PATH.resolve_feature_path(feature)</code>
|
148
|
+
# that returns [+:rb+ or +:so+, path], which resolves the feature to
|
149
|
+
# the path the original Kernel#require method would load.
|
150
|
+
$LOAD_PATH: Array[String]
|
151
|
+
|
152
|
+
# The same as $!.backtrace.
|
153
|
+
$PROGRAM_NAME: String
|
154
|
+
|
155
|
+
# The verbose flag, which is set by the <tt>-w</tt> or <tt>-v</tt> switch.
|
156
|
+
# Setting this to a true value enables warnings as if <tt>-w</tt> or <tt>-v</tt> were given
|
157
|
+
# on the command line. Setting this to +nil+ disables warnings,
|
158
|
+
# including from Kernel#warn. Aliased to $-v and $-w.
|
159
|
+
$VERBOSE: bool | nil
|
160
|
+
|
161
|
+
# The output record separator for Kernel#print and IO#write. Default is +nil+.
|
162
|
+
$\: String | nil
|
163
|
+
|
164
|
+
# The last input line of string by gets or readline.
|
165
|
+
$_: String | nil
|
166
|
+
|
167
|
+
# The string to the left of the last successful match.
|
168
|
+
$`: String | nil
|
169
|
+
|
170
|
+
# The current standard error output.
|
171
|
+
$stderr: IO
|
172
|
+
|
173
|
+
# The current standard input.
|
174
|
+
$stdin: IO
|
175
|
+
|
176
|
+
# The current standard output.
|
177
|
+
$stdout: IO
|
178
|
+
|
179
|
+
# The information about the last match in the current scope (thread-local and frame-local).
|
180
|
+
$~: MatchData | nil
|
data/core/hash.rbs
CHANGED
@@ -493,8 +493,8 @@ class Hash[unchecked out K, unchecked out V] < Object
|
|
493
493
|
# h.fetch_values("cow", "bird") # raises KeyError
|
494
494
|
# h.fetch_values("cow", "bird") { |k| k.upcase } #=> ["bovine", "BIRD"]
|
495
495
|
#
|
496
|
-
def fetch_values: (*K) -> Array[V]
|
497
|
-
| [X] (*K) { (K) -> X } ->
|
496
|
+
def fetch_values: (*K) -> ::Array[V]
|
497
|
+
| [X] (*K) { (K) -> X } -> ::Array[V | X]
|
498
498
|
|
499
499
|
# Returns a new hash consisting of entries for which the block returns true.
|
500
500
|
#
|
@@ -906,8 +906,8 @@ class Hash[unchecked out K, unchecked out V] < Object
|
|
906
906
|
#
|
907
907
|
# If no block is given, an enumerator is returned instead.
|
908
908
|
#
|
909
|
-
def transform_keys!: () -> Enumerator[K,
|
910
|
-
| () { (K) -> K } ->
|
909
|
+
def transform_keys!: () -> Enumerator[K, self]
|
910
|
+
| () { (K) -> K } -> self
|
911
911
|
|
912
912
|
# Returns a new hash with the results of running the block once for every value.
|
913
913
|
# This method does not change the keys.
|
@@ -920,7 +920,7 @@ class Hash[unchecked out K, unchecked out V] < Object
|
|
920
920
|
#
|
921
921
|
# If no block is given, an enumerator is returned instead.
|
922
922
|
#
|
923
|
-
def transform_values: () -> Enumerator[
|
923
|
+
def transform_values: () -> Enumerator[V, Hash[K, untyped]]
|
924
924
|
| [A] () { (V) -> A } -> Hash[K, A]
|
925
925
|
|
926
926
|
# Invokes the given block once for each value in *hsh*, replacing it with the
|
@@ -935,8 +935,8 @@ class Hash[unchecked out K, unchecked out V] < Object
|
|
935
935
|
#
|
936
936
|
# If no block is given, an enumerator is returned instead.
|
937
937
|
#
|
938
|
-
def transform_values!: () -> Enumerator[
|
939
|
-
| () { (V) -> V } ->
|
938
|
+
def transform_values!: () -> Enumerator[V, self]
|
939
|
+
| () { (V) -> V } -> self
|
940
940
|
|
941
941
|
# Adds the contents of the given hashes to the receiver.
|
942
942
|
#
|