From a7f3cfb7117e3fc5753353e9cd8f436bf5bcc5bc Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Sat, 8 Mar 2025 15:49:26 +0900 Subject: [PATCH] hash.c: allow 'default_proc=nil' to clear default_proc; ref #6483 --- src/hash.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/hash.c b/src/hash.c index 390e4272e..f270134c9 100644 --- a/src/hash.c +++ b/src/hash.c @@ -1477,7 +1477,9 @@ mrb_hash_set_default_proc(mrb_state *mrb, mrb_value hash) mrb_value ifnone = mrb_get_arg1(mrb); hash_modify(mrb, hash); - mrb_check_type(mrb, ifnone, MRB_TT_PROC); + if (!mrb_nil_p(ifnone)) { + mrb_check_type(mrb, ifnone, MRB_TT_PROC); + } mrb_iv_set(mrb, hash, MRB_SYM(ifnone), ifnone); if (!mrb_nil_p(ifnone)) { RHASH(hash)->flags |= MRB_HASH_PROC_DEFAULT;