diff options
Diffstat (limited to 'src/dotty/tools/dotc')
-rw-r--r-- | src/dotty/tools/dotc/typer/Namer.scala | 10 |
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) } } } |