diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | vm.c | 9 |
2 files changed, 6 insertions, 8 deletions
@@ -1,3 +1,8 @@ +Sun Oct 28 04:38:06 2012 Koichi Sasada <ko1@atdot.net> + + * vm.c (vm_define_method): remove type and frozen checking. + Checking is done in `rb_singleton_class()'. + Sun Oct 28 00:49:06 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> * parse.y (assign_in_cond): warn for static content object asignments @@ -1872,14 +1872,7 @@ vm_define_method(rb_thread_t *th, VALUE obj, ID id, VALUE iseqval, } if (is_singleton) { - if (FIXNUM_P(obj) || SYMBOL_P(obj) || CLASS_OF(obj) == rb_cFloat) { - rb_raise(rb_eTypeError, - "can't define singleton method \"%s\" for %s", - rb_id2name(id), rb_obj_classname(obj)); - } - - rb_check_frozen(obj); - klass = rb_singleton_class(obj); + klass = rb_singleton_class(obj); /* class and frozen checked in this API */ noex = NOEX_PUBLIC; } |