summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2013-04-30 00:51:31 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2013-04-30 00:51:31 +0900
commita092e4102066bb1a039fdccbd301d44f69114648 (patch)
treed40243e80d9799d5ccb4b2cc14d8a987841420ab /src
parent96637a7723bf337580f649e9b2fc77a40706d216 (diff)
downloadmruby-a092e4102066bb1a039fdccbd301d44f69114648.tar.gz
mruby-a092e4102066bb1a039fdccbd301d44f69114648.zip
the receiver should be included in ancestors even when it's a singleton class
Diffstat (limited to 'src')
-rw-r--r--src/class.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/class.c b/src/class.c
index 0a29c3f63..47ea42228 100644
--- a/src/class.c
+++ b/src/class.c
@@ -796,6 +796,8 @@ mrb_mod_ancestors(mrb_state *mrb, mrb_value self)
struct RClass *c = mrb_class_ptr(self);
result = mrb_ary_new(mrb);
+ mrb_ary_push(mrb, result, mrb_obj_value(c));
+ c = c->super;
while (c) {
if (c->tt == MRB_TT_ICLASS) {
mrb_ary_push(mrb, result, mrb_obj_value(c->c));