summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/class.c1
-rw-r--r--src/etc.c2
-rw-r--r--src/object.c2
3 files changed, 3 insertions, 2 deletions
diff --git a/src/class.c b/src/class.c
index 6d77f24e6..bd55c1f71 100644
--- a/src/class.c
+++ b/src/class.c
@@ -1484,6 +1484,7 @@ mod_define_method(mrb_state *mrb, mrb_value self)
}
p = (struct RProc*)mrb_obj_alloc(mrb, MRB_TT_PROC, mrb->proc_class);
mrb_proc_copy(p, mrb_proc_ptr(blk));
+ p->flags |= MRB_PROC_STRICT;
mrb_define_method_raw(mrb, c, mid, p);
return blk;
}
diff --git a/src/etc.c b/src/etc.c
index 2aee0f0f7..514b0686b 100644
--- a/src/etc.c
+++ b/src/etc.c
@@ -176,7 +176,7 @@ mrb_obj_id(mrb_value obj)
case MRB_TT_FILE:
case MRB_TT_DATA:
default:
- return MakeID(obj.value.p);
+ return MakeID(mrb_ptr(obj));
}
}
diff --git a/src/object.c b/src/object.c
index 5b2278767..363f474f7 100644
--- a/src/object.c
+++ b/src/object.c
@@ -29,7 +29,7 @@ mrb_obj_eq(mrb_state *mrb, mrb_value v1, mrb_value v2)
return (mrb_float(v1) == mrb_float(v2));
default:
- return (v1.value.p == v2.value.p);
+ return (mrb_ptr(v1) == mrb_ptr(v2));
}
}