diff --git a/compiler/src/dotty/tools/dotc/ast/Desugar.scala b/compiler/src/dotty/tools/dotc/ast/Desugar.scala index 493a515d1acc..8f4643d3b7fe 100644 --- a/compiler/src/dotty/tools/dotc/ast/Desugar.scala +++ b/compiler/src/dotty/tools/dotc/ast/Desugar.scala @@ -338,8 +338,9 @@ object desugar { case _ => false } - val isCaseClass = mods.is(Case) && !mods.is(Module) - val isCaseObject = mods.is(Case) && mods.is(Module) + val isObject = mods.is(Module) + val isCaseClass = mods.is(Case) && !isObject + val isCaseObject = mods.is(Case) && isObject val isImplicit = mods.is(Implicit) val isEnum = mods.isEnumClass && !mods.is(Module) def isEnumCase = mods.isEnumCase @@ -522,6 +523,8 @@ object desugar { parents1 = enumClassTypeRef :: Nil if (isCaseClass | isCaseObject) parents1 = parents1 :+ scalaDot(str.Product.toTypeName) :+ scalaDot(nme.Serializable.toTypeName) + else if (isObject) + parents1 = parents1 :+ scalaDot(nme.Serializable.toTypeName) if (isEnum) parents1 = parents1 :+ ref(defn.EnumType)