diff --git a/compiler/src/dotty/tools/dotc/ast/Desugar.scala b/compiler/src/dotty/tools/dotc/ast/Desugar.scala index a772e68236eb..5b6abfabfaec 100644 --- a/compiler/src/dotty/tools/dotc/ast/Desugar.scala +++ b/compiler/src/dotty/tools/dotc/ast/Desugar.scala @@ -1007,7 +1007,7 @@ object desugar { case _: ValDef | _: PatDef | _: DefDef => true case stat: ModuleDef => stat.mods.is(ImplicitOrImplied) || opaqueNames.contains(stat.name.stripModuleClassSuffix.toTypeName) - case stat: TypeDef => !stat.isClassDef || stat.mods.is(Implicit) + case stat: TypeDef => !stat.isClassDef || stat.mods.is(ImplicitOrImplied) case _ => false } val (nestedStats, topStats) = pdef.stats.partition(needsObject) diff --git a/tests/pos/i5915.scala b/tests/pos/i5915.scala new file mode 100644 index 000000000000..6dfc7b7425d0 --- /dev/null +++ b/tests/pos/i5915.scala @@ -0,0 +1,9 @@ +trait RunDSL + +val rdsl = new RunDSL {} + +implied RunNNFExpr[B] for RunDSL = rdsl + +implied RunNNFImpl[B] for RunDSL { + //override def runDSL(b: NNF[B]): B = b.terminal +} \ No newline at end of file