From 88e86ee62e2556fc8b37836cef18721429aa59c6 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Thu, 8 May 2025 16:42:33 +0900 Subject: [PATCH] mruby-random: update error messages to be compatible with CRuby; #6523 --- mrbgems/mruby-random/src/random.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/mrbgems/mruby-random/src/random.c b/mrbgems/mruby-random/src/random.c index a500cfefa..169bf030d 100644 --- a/mrbgems/mruby-random/src/random.c +++ b/mrbgems/mruby-random/src/random.c @@ -165,6 +165,12 @@ rand_range_float(mrb_state *mrb, rand_state *t, } #endif +static mrb_noreturn void +range_error(mrb_state *mrb, mrb_value v) +{ + mrb_raisef(mrb, E_TYPE_ERROR, "no implicit conversion of %Y into Integer", v); +} + static mrb_value random_range(mrb_state *mrb, rand_state *t, mrb_value rv) { @@ -177,7 +183,7 @@ random_range(mrb_state *mrb, rand_state *t, mrb_value rv) #define cast_to_float(v) \ (mrb_float_p(v) ? mrb_float(v) \ : mrb_integer_p(v) ? (mrb_float)mrb_integer(v) \ - : (mrb_raise(mrb, E_ARGUMENT_ERROR, ""), 0.0)) + : (range_error(mrb, v), 0.0)) return rand_range_float(mrb, t, cast_to_float(RANGE_BEG(r)), cast_to_float(RANGE_END(r)), RANGE_EXCL(r)); @@ -204,7 +210,7 @@ random_rand_impl(mrb_state *mrb, rand_state *t, mrb_value self) return random_range(mrb, t, arg); } - mrb_raise(mrb, E_ARGUMENT_ERROR, ""); + range_error(mrb, arg); } #define ID_RANDOM MRB_SYM(mruby_Random)