import enumeratum.values.StringEnum
import enumeratum.values.StringEnumEntry
sealed trait FirstLevel extends StringEnumEntry
object FirstLevel extends StringEnum[FirstLevel] {
case object One extends FirstLevel {
val value = "one"
}
case object Two extends FirstLevel {
val value = "two"
}
sealed trait SecondLevel extends FirstLevel
case object Three extends SecondLevel {
val value = "three"
}
override def values: IndexedSeq[FirstLevel] = findValues
}
Example:
https://scastie.scala-lang.org/qpDNUwqAT4m4ovmn4EySgg
Error: Exception occurred while executing macro expansion. scala.MatchError: Type.of[...] (of class scala.quoted.runtime.impl.TypeImpl)