When using circe to decode a class, having an auxiliary constructor produces an error. The circe folks traced this to a shapeless error: https://github.com/circe/circe/issues/1129.
scala> case class Qux()
defined class Qux
scala> case class Foo(i: Int)
defined class Foo
scala> case class Bar(i: Int) { def this() = this(0) }
defined class Bar
When using circe to decode a class, having an auxiliary constructor produces an error. The circe folks traced this to a shapeless error: https://github.com/circe/circe/issues/1129.
scala> case class Qux() defined class Qux
scala> case class Foo(i: Int) defined class Foo
scala> case class Bar(i: Int) { def this() = this(0) } defined class Bar
scala> shapeless.Annotations[Qux, Foo] res0: shapeless.Annotations[Qux,Foo]{type Out = None.type :: shapeless.HNil} = shapeless.Annotations$$anon$1@577d35bc
scala> shapeless.Annotations[Qux, Bar]