Skip to content

Instantly share code, notes, and snippets.

@mrdziuban
Created November 27, 2023 14:35
Show Gist options
  • Save mrdziuban/10648b5bed11ca292366f7a498df44b7 to your computer and use it in GitHub Desktop.
Save mrdziuban/10648b5bed11ca292366f7a498df44b7 to your computer and use it in GitHub Desktop.
semiauto-sealed-trait-option2.scala
sealed trait Test1
object Test1 {
case object Member extends Test1
}
sealed trait Test2
object Test2 {
sealed trait SubTrait extends Test2
case object Member extends SubTrait
}
sealed trait Test3
object Test3 {
case class Member() extends Test3
}
// this succeeds and derives a `Decoder[Member.type]` automatically
io.circe.Decoder.derived[Test1]
// these fail because there are no `Decoder`s for the sub trait/class
io.circe.Decoder.derived[Test2]
io.circe.Decoder.derived[Test3]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment