From 7563604fb868d87057733f52d780d841fc1ab6bb Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Thu, 20 Oct 2022 14:07:35 +0900 Subject: [Bug #18998] Honor `#to_str` next to `#to_int` in `Kernel#Integer` --- object.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'object.c') diff --git a/object.c b/object.c index d0c0e34f82..0d99c6db47 100644 --- a/object.c +++ b/object.c @@ -3138,6 +3138,9 @@ rb_convert_to_integer(VALUE val, int base, int raise_exception) tmp = rb_protect(rb_check_to_int, val, NULL); if (RB_INTEGER_TYPE_P(tmp)) return tmp; rb_set_errinfo(Qnil); + if (!NIL_P(tmp = rb_check_string_type(val))) { + return rb_str_convert_to_inum(tmp, base, TRUE, raise_exception); + } if (!raise_exception) { VALUE result = rb_protect(rb_check_to_i, val, NULL); -- cgit v1.2.1