Unapply2

object Unapply2
Companion
class
class Object
trait Matchable
class Any

Value members

Concrete methods

def apply[TC[_[_, _]], MAB](implicit U: Unapply2[TC, MAB]): U { type M = M; type A = A; type B = B; }

Fetch a well-typed Unapply2 for the given typeclass and type.

Fetch a well-typed Unapply2 for the given typeclass and type.

Implicits

Implicits

implicit
def unapplyMAB[TC[_[_, _]], M0[_, _], A0, B0](implicit TC0: TC[M0]): Unapply2[TC, M0[A0, B0]] { type M = M0; type A = A0; type B = B0; }

Unpack a value of type M0[A0, B0] into types M0, A, and 'B', given an instance of TC

Unpack a value of type M0[A0, B0] into types M0, A, and 'B', given an instance of TC

implicit
def unapplyMAFB[TC[_[_, _]], M0[_, _[_], _], A0, F0[_], B0](implicit TC0: TC[[_, _] =>> M0[_$53, F0, _$54]]): Unapply2[TC, M0[A0, F0, B0]] { type M = [X, Y] =>> M0[X, F0, Y]; type A = A0; type B = B0; }

Unpack a value of type M0[A0, F0, B0] into types M0, A, F0, and 'B', given an instance of TC

Unpack a value of type M0[A0, F0, B0] into types M0, A, F0, and 'B', given an instance of TC