Divergent

izumi.functional.bio.DivergenceHelper$.Divergent$
object Divergent

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Concise view

Type members

Types

type Of[A] = A { type Divergence; }

Upcast Divergence parameter instead of setting a contradictory value as in { type Divergence = Divergent }

Upcast Divergence parameter instead of setting a contradictory value as in { type Divergence = Divergent }

This allows a Divergent implicit to be less specific than the non-divergent instances, while at the same time not matching its own requirement of { type Divergence = Nondivergent }

Note: Upcasting Divergence also depends on returning a type variable instead of a known type. Divergent.Of[SyncSafe3[F]] will not fail the Nondivergent requirement, only Divergent.Of[C[F]] will.

Attributes

Value members

Concrete methods

def apply[A <: DivergenceHelper, A1 >: A](a: A): Of[A1]