From cda551ce25d4087188f85a61d22fedc3a257b910 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Fri, 11 Apr 2025 22:49:30 +0900 Subject: [PATCH] mruby-metaprog (mrb_mod_s_constants): call Module#constants if possible When the optional argument is given or the receiver is not `Module`. --- mrbgems/mruby-metaprog/src/metaprog.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mrbgems/mruby-metaprog/src/metaprog.c b/mrbgems/mruby-metaprog/src/metaprog.c index a6a6dfd35..794e1720f 100644 --- a/mrbgems/mruby-metaprog/src/metaprog.c +++ b/mrbgems/mruby-metaprog/src/metaprog.c @@ -643,6 +643,9 @@ mrb_mod_remove_method(mrb_state *mrb, mrb_value mod) static mrb_value mrb_mod_s_constants(mrb_state *mrb, mrb_value mod) { + if (mrb_get_argc(mrb) > 0 || mrb_class_ptr(mod) != mrb->module_class) { + return mrb_mod_constants(mrb, mod); + } mrb_raise(mrb, E_NOTIMP_ERROR, "Module.constants not implemented"); return mrb_nil_value(); /* not reached */ }