Skip to content

Commit f49df1a

Browse files
committed
Check tuple type length
1 parent d7812b7 commit f49df1a

File tree

3 files changed

+4
-3
lines changed

3 files changed

+4
-3
lines changed

lib/rbs/test/type_check.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -364,6 +364,7 @@ def value(val, type)
364364
value(val, builder.expand_alias2(type.name.absolute!, type.args))
365365
when Types::Tuple
366366
Test.call(val, IS_AP, ::Array) &&
367+
type.types.length == val.length &&
367368
type.types.map.with_index {|ty, index| value(val[index], ty) }.all?
368369
when Types::Record
369370
Test::call(val, IS_AP, ::Hash) &&

stdlib/objspace/0/objspace.rbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -411,7 +411,7 @@ module ObjectSpace
411411
# ObjectSpace.reachable_objects_from(1)
412412
# #=> nil # 1 is not markable (heap managed) object
413413
#
414-
def self?.reachable_objects_from: (untyped) -> ([ untyped ] | nil)
414+
def self?.reachable_objects_from: (untyped) -> (Array[untyped] | nil)
415415

416416
# <!--
417417
# rdoc-file=ext/objspace/objspace.c

test/stdlib/ObjectSpace_test.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,9 +181,9 @@ def test_memsize_of_all
181181
end
182182

183183
def test_reachable_objects_from
184-
assert_send_type "(untyped) -> [untyped]",
184+
assert_send_type "(untyped) -> Array[untyped]",
185185
ObjectSpace, :reachable_objects_from, "dummy"
186-
assert_send_type "(untyped) -> [untyped]",
186+
assert_send_type "(untyped) -> Array[untyped]",
187187
ObjectSpace, :reachable_objects_from, ["dummy", "dummy2"]
188188
assert_send_type "(untyped) -> nil",
189189
ObjectSpace, :reachable_objects_from, nil

0 commit comments

Comments
 (0)