From 1eae6ee08865a62e46617dc3f4c563856138c180 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Mittag?= Date: Sun, 3 Oct 2021 13:57:14 +0200 Subject: [PATCH 1/1] Remove unnecessary checks in `Range#each` [Bug #18237] In commit:7817a438eb1803e7b3358f43bd1f38479badfbdc, the implementation of `Time#succ`, which had been deprecated for 10 years, was finally removed. During that time, there was an explicit `instance_of?` check in source:range.c#L350 with a comment that the check should be removed once `Time#succ` is removed. Since `Time#succ` is now gone, this check should be removed. Note: this should be coordinated with adding a version guard to the corresponding check in ruby/spec as well. --- range.c | 1 - 1 file changed, 1 deletion(-) diff --git a/range.c b/range.c index c0b855002b..6f44e82600 100644 --- a/range.c +++ b/range.c @@ -347,7 +347,6 @@ step_i(VALUE i, VALUE arg) static int discrete_object_p(VALUE obj) { - if (rb_obj_is_kind_of(obj, rb_cTime)) return FALSE; /* until Time#succ removed */ return rb_respond_to(obj, id_succ); } -- 2.30.1 (Apple Git-130)