Skip to content

Commit 80db021

Browse files
committed
Break more cycles in transformSym.
1 parent cb84d04 commit 80db021

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

compiler/src/dotty/tools/dotc/transform/Mixin.scala

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -148,9 +148,10 @@ class Mixin extends MiniPhase with SymTransformer { thisPhase =>
148148
val classInfo = sym.asClass.classInfo
149149
val decls1 = classInfo.decls.cloneScope
150150
var modified: Boolean = false
151-
for (getter <- classInfo.decls)
152-
if needsTraitSetter(getter) then
153-
val setter = makeTraitSetter(getter.asTerm)
151+
for (decl <- classInfo.decls)
152+
// !decl.isClass avoids forcing nested traits, preventing cycles
153+
if !decl.isClass && needsTraitSetter(decl) then
154+
val setter = makeTraitSetter(decl.asTerm)
154155
decls1.enter(setter)
155156
modified = true
156157
if modified then

0 commit comments

Comments
 (0)