summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/eval.c b/eval.c
index a7c5322567..5a6c9970d1 100644
--- a/eval.c
+++ b/eval.c
@@ -1132,11 +1132,11 @@ rb_using_refinement(NODE *cref, VALUE klass, VALUE module)
Check_Type(klass, T_CLASS);
Check_Type(module, T_MODULE);
if (NIL_P(cref->nd_refinements)) {
- cref->nd_refinements = hidden_identity_hash_new();
+ RB_OBJ_WRITE(cref, &cref->nd_refinements, hidden_identity_hash_new());
}
else {
if (cref->flags & NODE_FL_CREF_OMOD_SHARED) {
- cref->nd_refinements = rb_hash_dup(cref->nd_refinements);
+ RB_OBJ_WRITE(cref, &cref->nd_refinements, rb_hash_dup(cref->nd_refinements));
cref->flags &= ~NODE_FL_CREF_OMOD_SHARED;
}
if (!NIL_P(c = rb_hash_lookup(cref->nd_refinements, klass))) {