I’m trying to create a method that takes a Scala 3 enum
as parameter, but this does not work, is this possible?
I try to do something like
trait Named:
def name: String
enum Birds(val name: String) extends Named:
case Sparrow extends Birds("Sparrow")
case Eagel extends Birds("Eagel")
case Colibri extends Birds("Colibri")
enum Dogs(val name: String) extends Named:
case Labrador extends Dogs("Labrador")
case Dalmatian extends Dogs("Dalmatian")
case Beagel extends Dogs("Beagel")
def showName[E <: Named](e: Enum[E]) = {
println(e.name)
}
showName(Birds)
showName(Dogs)
https://scastie.scala-lang.org/B0RbB7CxRMagTBVodrSQVQ