-
Notifications
You must be signed in to change notification settings - Fork 152
Closed
Labels
Description
Enumeratum version: 1.9.0
Scala version: 3.6.3
In Scala 3, if the values of an enum mix in a shared trait that extends the entry type, findValues can return duplicate values.
Here's an example on Scastie:
https://scastie.scala-lang.org/fTa1qOmAQduIGTAS9XWGmg
Observe that when the program is run, Vector(Dog, Human, Dog, Human) is printed. I'll also paste the program below:
import enumeratum.values.{StringEnum, StringEnumEntry}
sealed abstract class Animal(override val value: String) extends StringEnumEntry
object Animal extends StringEnum[Animal] {
case object Dog extends Animal("dog") with Mammal
case object Human extends Animal("human") with Mammal
override lazy val values: IndexedSeq[Animal] = findValues
}
sealed trait Mammal extends Animal
println(Animal.values)Copilot and dontgitit