Implicitly converts (at compile-time) a value of type F[T, A]
to
F[T, B]
if there is a valid inference A ==> B
.
Implicitly converts (at compile-time) a value of type F[T, A]
to
F[T, B]
if there is a valid inference A ==> B
. If the
inference is invalid, compilation fails.
Implicitly tags (at compile-time) a value of type T
with P
if t
satisfies the predicate P
.
Implicitly wraps (at compile-time) a value of type T
in
api.Refined[T, P]
if t
satisfies the predicate P
.
Implicitly wraps (at compile-time) a value of type T
in
api.Refined[T, P]
if t
satisfies the predicate P
. If it does
not satisfy the predicate, compilation fails.
This is an implicit version of refineMV
.
Implicitly unwraps the T
from a value of type F[T, P]
using the
api.RefType
instance of F
.
Implicitly unwraps the T
from a value of type F[T, P]
using the
api.RefType
instance of F
. This allows a F[T, P]
to be
used as it were a subtype of T
.
Note: This conversion is not needed if F[T, _] <: T
holds (which
is the case for shapeless.tag.@@
, for example).