aboutsummaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authorshugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-06-29 05:52:38 +0000
committershugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-06-29 05:52:38 +0000
commitbff1dc20612d3aaaf06ed6e5148d0cac9b355a11 (patch)
tree3352639c61606106f91d47aacf8d1d0e505415de /eval.c
parent99932e6f103924b9301817eb87b233331273c54d (diff)
downloadruby-bff1dc20612d3aaaf06ed6e5148d0cac9b355a11.tar.gz
* eval.c (add_activated_refinement): should not include the original
class. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/eval.c b/eval.c
index c3c9383a4f..3cc9a2efe9 100644
--- a/eval.c
+++ b/eval.c
@@ -1274,7 +1274,7 @@ add_activated_refinement(VALUE activated_refinements,
c = iclass = rb_include_class_new(refinement, superclass);
RCLASS_REFINED_CLASS(c) = klass;
refinement = RCLASS_SUPER(refinement);
- while (refinement) {
+ while (refinement && refinement != klass) {
FL_SET(refinement, RMODULE_IS_OVERLAID);
c = RCLASS_SET_SUPER(c, rb_include_class_new(refinement, RCLASS_SUPER(c)));
RCLASS_REFINED_CLASS(c) = klass;