summaryrefslogtreecommitdiff
path: root/vm_eval.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-05-06 13:49:57 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-05-06 13:49:57 +0000
commita870f4fcfdcd4223ec345b3e0e78959835e2b7a0 (patch)
tree4f49ef39b167b0aa16b0b1886f5cd3bec29b0b1c /vm_eval.c
parent3d680dd2c472b801a199b010538564fba0c2625d (diff)
vm_eval.c: undefined refined check_funcall
* vm_eval.c (rb_method_call_status): undefined refined method is not callable unless using. [ruby-core:69064] [Bug #11117] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm_eval.c')
-rw-r--r--vm_eval.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/vm_eval.c b/vm_eval.c
index 281dbe7..f31a60a 100644
--- a/vm_eval.c
+++ b/vm_eval.c
@@ -559,7 +559,8 @@ rb_method_call_status(rb_thread_t *th, const rb_method_entry_t *me, call_type sc
ID oid;
int noex;
- if (UNDEFINED_METHOD_ENTRY_P(me)) {
+ if (UNDEFINED_METHOD_ENTRY_P(me) ||
+ UNDEFINED_REFINED_METHOD_P(me->def)) {
return scope == CALL_VCALL ? NOEX_VCALL : 0;
}
klass = me->klass;