Trait imprint::TyFnL
[−]
[src]
pub unsafe trait TyFnL<'a> { type Output; }
Used to define type-level functions with existential parameters, intended
for use with Exists
.
In order to use Exists
safely, we require parametricity in 'a
for
all implementations of TyFnL
. However, I don't think it's yet possible
to violate parametricity in Rust without breaking the for<'a> TyFnL<'a>
constraint.
However, what is more important is that 'a
must be a fictitious
lifetime parameter! Otherwise, Exists
could be used to smuggle
references to temporary objects out of their scope.
Associated Types
type Output
Implementors
impl<'a, T> TyFnL<'a> for ValF<T>