package export
Provides a simple mechanism to insert derived type class instances in the implicit resolution mechanism.
By default, when imported, such instances have the highest possible priority, which is typically problematic
with shapeless instance derivation: bespoke instances for Option
or Either
, for example, find themselves
shadowed by the generically derived ones.
If such instances are of type kantan.codecs.export.DerivedDecoder / kantan.codecs.export.DerivedEncoder rather than Decoder / Encoder, however, they'll find themselves with a lower precedence and only be used if no other, more specific instance is found.
- Source
- package.scala
- Alphabetic
- By Inheritance
- export
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- type DerivedDecoder[E, D, F, T] = Exported[Decoder[E, D, F, T]]
Decoder instance that should only be used when no specific one is found.
- type DerivedEncoder[E, D, T] = Exported[Encoder[E, D, T]]
Encoder instance that should only be used when no specific one is found.
- final case class Exported[A](value: A) extends AnyVal with Product with Serializable
Wraps derived type class instances.
Value Members
- object DerivedDecoder
Provides construction methods for kantan.codecs.export.DerivedDecoder.
- object DerivedEncoder
Provides construction methods for kantan.codecs.export.DerivedEncoder.