From 2ffe25636b308c74456673aa6873b2388f6a246c Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Fri, 22 Aug 2025 23:46:55 +0900 Subject: [PATCH] vm.c: fix conversion warning in send_method visibility error path Cast RARRAY_LEN result to int in send_method when handling visibility errors to resolve C4244 warning about potential data loss from mrb_ssize to int conversion. The cast is safe since n represents argument count which should fit in int range. Co-authored-by: Claude --- src/vm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vm.c b/src/vm.c index f6146f121..078796539 100644 --- a/src/vm.c +++ b/src/vm.c @@ -1004,7 +1004,7 @@ send_method(mrb_state *mrb, mrb_value self, mrb_bool pub) if (m.flags & MRB_METHOD_PRIVATE_FL) { vis_err:; if (n == 15) { - n = RARRAY_LEN(regs[0]) - 1; + n = (int)(RARRAY_LEN(regs[0]) - 1); regs = RARRAY_PTR(regs[0]); } vis_error(mrb, name, mrb_ary_new_from_values(mrb, n, regs+1), self, priv);