Skip to content

Commit 531c073

Browse files
Do not generate synthetic ordinal for Enum itself
1 parent 65d982b commit 531c073

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ class SyntheticMembers(thisPhase: DenotTransformer) {
6464
myCaseSymbols = myValueSymbols ++ List(defn.Any_toString, defn.Product_canEqual,
6565
defn.Product_productArity, defn.Product_productPrefix, defn.Product_productElement)
6666
myCaseModuleSymbols = myCaseSymbols.filter(_ ne defn.Any_equals)
67-
myEnumCaseSymbols = List(defn.Enum_ordinal)
67+
myEnumCaseSymbols = List(defn.Enum_ordinal)
6868
}
6969

7070
def valueSymbols(implicit ctx: Context): List[Symbol] = { initSymbols; myValueSymbols }
@@ -89,7 +89,7 @@ class SyntheticMembers(thisPhase: DenotTransformer) {
8989
lazy val accessors =
9090
if (isDerivedValueClass(clazz)) clazz.paramAccessors.take(1) // Tail parameters can only be `erased`
9191
else clazz.caseAccessors
92-
val isEnumCase = clazz.derivesFrom(defn.EnumClass)
92+
val isEnumCase = clazz.derivesFrom(defn.EnumClass) && clazz != defn.EnumClass
9393

9494
val symbolsToSynthesize: List[Symbol] =
9595
if (clazz.is(Case)) {

0 commit comments

Comments
 (0)