rbs 1.3.3 → 1.4.0
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/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
|
#
|