Divariant

abstract class Divariant[-CapsF[_[_, _]], -CapsLeft[_], -CapsRight[_], -R]

ZLawsF2 for Divariant type constructors.

Companion:
object
class Object
trait Matchable
class Any
class ComposeLaw[CapsBothF, Caps]
class Law1[CapsBothF, CapsLeft, CapsRight]
Divariant[CapsF, CapsLeft, CapsRight, R]

Value members

Abstract methods

def run[R1 <: R, F[_, _] : CapsF, A : CapsLeft, B : CapsRight](genF: GenF2[R1, F], gen: Gen[R1, B])(implicit evidence$1: CapsF[F], evidence$2: CapsLeft[A], evidence$3: CapsRight[B], trace: Trace): ZIO[R1, Nothing, TestResult]

Test that values of type F[+_,-_] satisfy the laws using the specified function to construct a generator of F[A,B] values given a generator of B values.

Test that values of type F[+_,-_] satisfy the laws using the specified function to construct a generator of F[A,B] values given a generator of B values.

Concrete methods

def +[CapsF1 <: ([x[_, _]] =>> CapsF[x]), CapsLeft1 <: (CapsLeft), CapsRight1 <: (CapsRight), R1 <: R](that: Divariant[CapsF1, CapsLeft1, CapsRight1, R1]): Divariant[CapsF1, CapsLeft1, CapsRight1, R1]

Combine these laws with the specified laws to produce a set of laws that require both sets of laws to be satisfied.

Combine these laws with the specified laws to produce a set of laws that require both sets of laws to be satisfied.