diff --git a/object.c b/object.c index 7a9ee001e6..fc8416fdb7 100644 --- a/object.c +++ b/object.c @@ -536,6 +536,9 @@ rb_obj_dup(VALUE obj) init_copy(dup, obj); rb_funcall(dup, id_init_dup, 1, obj); + if (rb_block_given_p()) { + rb_yield(dup); + } return dup; }