diff --git a/src/class.c b/src/class.c index cc6da75a3..32115ffcc 100644 --- a/src/class.c +++ b/src/class.c @@ -2776,6 +2776,7 @@ mod_attr_define(mrb_state *mrb, mrb_value mod, mrb_value (*accessor)(mrb_state*, static mrb_value attr_reader(mrb_state *mrb, mrb_value obj) { + mrb_get_args(mrb, ""); mrb_value name = mrb_proc_cfunc_env_get(mrb, 0); return mrb_iv_get(mrb, obj, to_sym(mrb, name)); } diff --git a/test/t/module.rb b/test/t/module.rb index 2827f5e27..f2a0e1164 100644 --- a/test/t/module.rb +++ b/test/t/module.rb @@ -163,6 +163,9 @@ assert('Module#attr_reader', '15.2.2.4.13') do AttrTestReader.cattr_val = 'test' assert_equal 'test', AttrTestReader.cattr + + assert_raise(ArgumentError) { attr_instance.iattr(1) } + assert_raise(ArgumentError) { attr_instance.iattr(1, 2, 3) } end assert('Module#attr_writer', '15.2.2.4.14') do