Представьте, что у меня есть следующее:
sealed trait MyEnum
object MyEnum {
case object Value1 extends MyEnum
case object Value2 extends MyEnum
...
}
Я мог бы довольно легко написать макрос (это несколько строк кода с использованием knownDirectSubclasses
), чтобы получить Set[MyEnum]
из case object
.
Я уверен, что это должно быть уже решено - возможно, есть что-то в Shapeless или Cats, что даст мне этот набор без необходимости писать макрос? - Есть?