summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMasamitsu MURASE <[email protected]>2012-06-24 04:06:53 +0900
committerMasamitsu MURASE <[email protected]>2012-06-24 04:06:53 +0900
commit7a17377c644d421fae71bd8d61e6f7dc744faf62 (patch)
tree2180fd19fa793e2f7b400ff6cc2baab5fa018156
parenta194f30f62d5d746e133c1c7a784b6eb3b5b7cb0 (diff)
downloadmruby-7a17377c644d421fae71bd8d61e6f7dc744faf62.tar.gz
mruby-7a17377c644d421fae71bd8d61e6f7dc744faf62.zip
Fix Struct.new and Struct.[].
Instances of Struct's subclass should have MRB_TT_STRUCT.
-rw-r--r--src/struct.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/struct.c b/src/struct.c
index 855974182..25cd02d3d 100644
--- a/src/struct.c
+++ b/src/struct.c
@@ -286,8 +286,8 @@ make_struct(mrb_state *mrb, mrb_value name, mrb_value members, struct RClass * k
nstr = mrb_obj_value(c);
mrb_iv_set(mrb, nstr, mrb_intern(mrb, "__members__"), members);
- mrb_define_class_method(mrb, c, "new", mrb_class_new_instance_m, ARGS_ANY());
- mrb_define_class_method(mrb, c, "[]", mrb_class_new_instance_m, ARGS_ANY());
+ mrb_define_class_method(mrb, c, "new", mrb_instance_new, ARGS_ANY());
+ mrb_define_class_method(mrb, c, "[]", mrb_instance_new, ARGS_ANY());
mrb_define_class_method(mrb, c, "members", mrb_struct_s_members_m, ARGS_NONE());
//RSTRUCT(nstr)->basic.c->super = c->c;
ptr_members = RARRAY_PTR(members);