diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/class.c | 1 | ||||
| -rw-r--r-- | src/etc.c | 2 | ||||
| -rw-r--r-- | src/object.c | 2 |
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; } @@ -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)); } } |
