diff options
Diffstat (limited to 'variable.c')
-rw-r--r-- | variable.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/variable.c b/variable.c index 310ef74d13..52ea6b4cab 100644 --- a/variable.c +++ b/variable.c @@ -2515,6 +2515,11 @@ rb_const_defined_0(VALUE klass, ID id, int exclude, int recurse, int visibility) if (ce->value == Qundef && !check_autoload_required(tmp, id, 0) && !rb_autoloading_value(tmp, id, 0)) return (int)Qfalse; + + if (exclude && tmp == rb_cObject && klass != rb_cObject) { + return (int)Qfalse; + } + return (int)Qtrue; } if (!recurse) break; |