Skip to content

Commit 428705e

Browse files
authored
Merge pull request #2567 from ksss/enumerator-plus
Add signature for `Enumerator#+`
2 parents bed7aed + d97a0af commit 428705e

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

core/enumerator.rbs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -448,6 +448,18 @@ class Enumerator[unchecked out Elem, out Return = void] < Object
448448
#
449449
def size: () -> (Integer | Float)?
450450

451+
# <!--
452+
# rdoc-file=enumerator.c
453+
# - e + enum -> enumerator
454+
# -->
455+
# Returns an enumerator object generated from this enumerator and a given
456+
# enumerable.
457+
#
458+
# e = (1..3).each + [4, 5]
459+
# e.to_a #=> [1, 2, 3, 4, 5]
460+
#
461+
def +: [Elem2] (::_Each[Elem2]) -> ::Enumerator::Chain[Elem | Elem2]
462+
451463
# <!--
452464
# rdoc-file=enumerator.c
453465
# - e.with_index(offset = 0) {|(*args), idx| ... }

test/stdlib/Enumerator_test.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ def test_each
2424
assert_send_type "() { (Integer) -> nil } -> [1,2,3]",
2525
enum, :each do end
2626
end
27+
28+
def test_plus
29+
assert_send_type "(Array[Integer]) -> Enumerator::Chain[Integer]", (1..3).each, :+, [4, 5]
30+
end
2731
end
2832

2933
class EnumeratorSingletonTest < Test::Unit::TestCase

0 commit comments

Comments
 (0)