From 1a8074accf71dd39534fc11d0d01dbe8220f0581 Mon Sep 17 00:00:00 2001 From: ksss Date: Fri, 22 Jul 2016 15:26:11 +0900 Subject: Should not define to `Struct` class --- mrbgems/mruby-struct/src/struct.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mrbgems/mruby-struct') diff --git a/mrbgems/mruby-struct/src/struct.c b/mrbgems/mruby-struct/src/struct.c index f084e4031..892a26872 100644 --- a/mrbgems/mruby-struct/src/struct.c +++ b/mrbgems/mruby-struct/src/struct.c @@ -361,7 +361,7 @@ mrb_struct_s_def(mrb_state *mrb, mrb_value klass) } st = make_struct(mrb, name, rest, struct_class(mrb)); if (!mrb_nil_p(b)) { - mrb_yield_with_class(mrb, b, 1, &st, st, mrb_class_ptr(klass)); + mrb_yield_with_class(mrb, b, 1, &st, st, mrb_class_ptr(st)); } return st; -- cgit v1.2.3 From bf21063a7245f5d8ae0773cf88422bece9d0e784 Mon Sep 17 00:00:00 2001 From: ksss Date: Fri, 22 Jul 2016 15:26:17 +0900 Subject: Add regression test --- mrbgems/mruby-struct/test/struct.rb | 3 +++ 1 file changed, 3 insertions(+) (limited to 'mrbgems/mruby-struct') diff --git a/mrbgems/mruby-struct/test/struct.rb b/mrbgems/mruby-struct/test/struct.rb index 63a02817e..02ecf69e4 100644 --- a/mrbgems/mruby-struct/test/struct.rb +++ b/mrbgems/mruby-struct/test/struct.rb @@ -23,6 +23,9 @@ assert('Struct#==', '15.2.18.4.1') do cc1 = c.new(1,2) cc2 = c.new(1,2) assert_true cc1 == cc2 + + Struct.new(:m1, :m2) { def foo; end } + assert_raise(NoMethodError) { Struct.new(:m1).new.foo } end assert('Struct#[]', '15.2.18.4.2') do -- cgit v1.2.3