summaryrefslogtreecommitdiffhomepage
path: root/src/class.c
diff options
context:
space:
mode:
authorCorey Powell <[email protected]>2015-07-13 09:49:51 -0500
committerCorey Powell <[email protected]>2015-07-13 09:49:51 -0500
commit81a2b3431c63c969f73e6c0eeaa968acbace0e44 (patch)
tree33817ff35801d88b164221ce04fe57c1bd18a89e /src/class.c
parent199a808e36197bd6f893112bbd43f18f2c25345f (diff)
downloadmruby-81a2b3431c63c969f73e6c0eeaa968acbace0e44.tar.gz
mruby-81a2b3431c63c969f73e6c0eeaa968acbace0e44.zip
included_modules, origin fix
Prepended modules would include their origin ICLASS
Diffstat (limited to 'src/class.c')
-rw-r--r--src/class.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/class.c b/src/class.c
index 5450f3a20..cde5736e0 100644
--- a/src/class.c
+++ b/src/class.c
@@ -1000,10 +1000,11 @@ mrb_mod_included_modules(mrb_state *mrb, mrb_value self)
{
mrb_value result;
struct RClass *c = mrb_class_ptr(self);
+ struct RClass *origin = c->origin;
result = mrb_ary_new(mrb);
while (c) {
- if (c->tt == MRB_TT_ICLASS) {
+ if (c != origin && c->tt == MRB_TT_ICLASS) {
if (c->c->tt == MRB_TT_MODULE) {
mrb_ary_push(mrb, result, mrb_obj_value(c->c));
}