Trait refraction::Prism
[−]
[src]
pub trait Prism: PartialLens where
Self::AtInitial: Prism,
Self::AtFinal: Prism, { fn inject(&self, v: Self::FinalTarget) -> Self::FinalSource; }
The supertype of all prism families.
Required Methods
fn inject(&self, v: Self::FinalTarget) -> Self::FinalSource
Implementors
impl<S, T> Prism for Identity<S, T>
impl<LF: Prism, LS: ?Sized> Prism for Compose<LF, LS> where
LS: Prism<InitialTarget = LF::InitialSource, FinalTarget = LF::FinalSource>,
LF::AtInitial: Prism,
LF::AtFinal: Prism,
LS::AtInitial: Prism,
LS::AtFinal: Prism,impl<L: Iso> Prism for Invert<L> where
L::AtInitial: Iso,
L::AtFinal: Iso,impl<A, B> Prism for FromUnit<A, B>
impl<S, A, T, B> Prism for Conv<S, A, T, B> where
S: Into<A>,
A: Into<S>,
B: Into<T>,
T: Into<B>,impl<'a, S: ?Sized, A: ?Sized, T: ?Sized, B: ?Sized> Prism for ConvRef<'a, S, A, T, B> where
S: AsRef<A> + 'a,
A: AsRef<S> + 'a,
T: AsRef<B> + 'a,
B: AsRef<T> + 'a,impl<'a, S: ?Sized, A: ?Sized, T: ?Sized, B: ?Sized> Prism for ConvMut<'a, S, A, T, B> where
S: AsMut<A> + 'a,
A: AsMut<S> + 'a,
T: AsMut<B> + 'a,
B: AsMut<T> + 'a,