aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/dotty/tools/dotc/typer/Namer.scala10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/dotty/tools/dotc/typer/Namer.scala b/src/dotty/tools/dotc/typer/Namer.scala
index 6460be81f..8293b0239 100644
--- a/src/dotty/tools/dotc/typer/Namer.scala
+++ b/src/dotty/tools/dotc/typer/Namer.scala
@@ -523,12 +523,10 @@ class Namer { typer: Typer =>
index(rest)(inClassContext(selfInfo))
denot.info = ClassInfo(cls.owner.thisType, cls, parentRefs, decls, selfInfo)
- if (cls is Trait) {
- if (impl.body forall isNoInitMember) {
- cls.setFlag(NoInits)
- if (impl.body forall isPureInterfaceMember)
- cls.setFlag(PureInterface)
- }
+ if (impl.body forall isNoInitMember) {
+ cls.setFlag(NoInits)
+ if (cls.is(Trait) && impl.body.forall(isPureInterfaceMember))
+ cls.setFlag(PureInterface)
}
}
}