Liskov

sealed abstract
class Liskov[-A, +B]

Liskov substitutability: A better <:<

A <: B holds whenever A could be used in any negative context that expects a B. (e.g. if you could pass an A into any function that expects a B.)

Companion
object
class Object
trait Matchable
class Any

Value members

Abstract methods

def substCo[F[_]](p: F[A]): F[B]
def substCt[F[_]](p: F[B]): F[A]

Concrete methods

final
def *[x[_, _], C, D](that: Liskov[C, D]): Liskov[x[A, C], x[B, D]]
final
def andThen[C](that: Liskov[B, C]): Liskov[A, C]
def apply(a: A): B
final
def compose[C](that: Liskov[C, A]): Liskov[C, B]
final
def onF[X](fa: X => A): X => B

Deprecated methods

@deprecated("use substCt instead", since = "7.3.0")
final
def subst[F[_]](p: F[B]): F[A]
Deprecated
[Since version 7.3.0]