//> using scala 3.4.0
//> using dep dev.zio::zio-schema:1.0.1
//> using dep dev.zio::zio-schema-derivation:1.0.1
//> using dep dev.zio::zio-schema-json:1.0.1
sealed trait Animal
object Animal:
sealed trait Mammal extends Animal
case object Bison extends Mammal
given schema: zio.schema.Schema[Animal] = zio.schema.DeriveSchema.gen[Animal]
given jsonCodec: zio.json.JsonCodec[Animal] = zio.schema.codec.JsonCodec.jsonCodec(schema)
@main def main: String =
import zio.json.EncoderOps
val value: Animal = Bison
// Exception in thread "main" java.lang.ClassCastException:
// class zio.schema.Schema$Enum1 cannot be cast to class zio.schema.Schema$CaseClass0
value.toJson