For internal use by LowPriority
For internal use by LowPriority
Allows LowPriority
to ignore some implicits.
Allows LowPriority
to ignore some implicits.
Added to an implicit def like
implicit def genericThing[F, G] (implicit ev: LowPriority.Ignoring[Witness.`"anyThing"`.T], gen: Generic.Aux[F, G], underlying: Thing[G] ): Thing[F] = ???
it prevents genericThing
to provide an instance of Thing[F]
if an implicit one is already
available elsewhere EXCEPT if it is provided by a method called anyThing
. In this case, it
lets genericThing
provide a Thing[F]
too, effectively taking precedence over the instances
provided by anyThing
.