summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/class.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/class.c b/src/class.c
index eaf25916c..f446c56bc 100644
--- a/src/class.c
+++ b/src/class.c
@@ -1417,13 +1417,10 @@ mrb_mod_alias(mrb_state *mrb, mrb_value mod)
static void
undef_method(mrb_state *mrb, struct RClass *c, mrb_sym a)
{
- mrb_value m, val;
+ mrb_value m;
if (!mrb_obj_respond_to(c, a)) {
- val = mrb_iv_remove(mrb, mrb_obj_value(c), a);
- if (mrb_undef_p(val)) {
- mrb_name_error(mrb, a, "undefined method '%S' for class '%S'", mrb_sym2str(mrb, a), mrb_obj_value(c));
- }
+ mrb_name_error(mrb, a, "undefined method '%S' for class '%S'", mrb_sym2str(mrb, a), mrb_obj_value(c));
} else {
MRB_SET_VALUE(m, MRB_TT_PROC, value.p, 0);
mrb_define_method_vm(mrb, c, a, m);