From 4a6c7ba43753535b3117e2088d94553d8e941f5e Mon Sep 17 00:00:00 2001 From: Oskar Eichler <62393985+OskarEichler@users.noreply.github.com> Date: Sun, 30 Aug 2026 06:33:23 +0200 Subject: [PATCH 1/2] Accept open-ended typed ranges --- lib/rbs/test/type_check.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/rbs/test/type_check.rb b/lib/rbs/test/type_check.rb index 060a751a2f..866f6939df 100644 --- a/lib/rbs/test/type_check.rb +++ b/lib/rbs/test/type_check.rb @@ -280,7 +280,9 @@ def value(val, type) value(key, type.args[0]) && value(val[key], type.args[1]) end when klass == ::Range - Test.call(val, IS_AP, klass) && value(val.begin, type.args[0]) && value(val.end, type.args[0]) + Test.call(val, IS_AP, klass) && + (val.begin.nil? || value(val.begin, type.args[0])) && + (val.end.nil? || value(val.end, type.args[0])) when klass == ::Enumerator if Test.call(val, IS_AP, klass) case val.size From 6038c2a3358b220bf70794325aac6f83cf0923e3 Mon Sep 17 00:00:00 2001 From: Oskar Eichler <62393985+OskarEichler@users.noreply.github.com> Date: Sun, 30 Aug 2026 06:41:57 +0200 Subject: [PATCH 2/2] Handle minimal range endpoint objects --- lib/rbs/test/type_check.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/rbs/test/type_check.rb b/lib/rbs/test/type_check.rb index 866f6939df..4dceb407cf 100644 --- a/lib/rbs/test/type_check.rb +++ b/lib/rbs/test/type_check.rb @@ -281,8 +281,8 @@ def value(val, type) end when klass == ::Range Test.call(val, IS_AP, klass) && - (val.begin.nil? || value(val.begin, type.args[0])) && - (val.end.nil? || value(val.end, type.args[0])) + (Test.call(val.begin, IS_AP, ::NilClass) || value(val.begin, type.args[0])) && + (Test.call(val.end, IS_AP, ::NilClass) || value(val.end, type.args[0])) when klass == ::Enumerator if Test.call(val, IS_AP, klass) case val.size