Trait optics::traits::AffineFold

source ·
pub trait AffineFold<T>: Optics<T> + OpticsFallible
where Self::View: Sized,
{ // Required method fn preview(&self, s: T) -> Result<Self::View, Self::Error>; }
Expand description

AffineFold: getter, but may fail.

Required Methods§

source

fn preview(&self, s: T) -> Result<Self::View, Self::Error>

Retrieve the value targeted by an AffineFold.

Implementations on Foreign Types§

source§

impl<L: AffineFold<T>, T> AffineFold<T> for &L
where Self::View: Sized,

source§

fn preview(&self, s: T) -> Result<L::View, Self::Error>

Implementors§

source§

impl<K, L, T> AffineFold<T> for Compose<K, L>
where K: AffineFold<T>, K::View: Sized, L: AffineFold<K::View>, L::View: Sized,

source§

impl<T0> AffineFold<(T0,)> for _0

source§

impl<T0, T1> AffineFold<(T0, T1)> for _0

source§

impl<T0, T1> AffineFold<(T0, T1)> for _1

source§

impl<T0, T1, T2> AffineFold<(T0, T1, T2)> for _0

source§

impl<T0, T1, T2> AffineFold<(T0, T1, T2)> for _1

source§

impl<T0, T1, T2> AffineFold<(T0, T1, T2)> for _2

source§

impl<T0, T1, T2, T3> AffineFold<(T0, T1, T2, T3)> for _0

source§

impl<T0, T1, T2, T3> AffineFold<(T0, T1, T2, T3)> for _1

source§

impl<T0, T1, T2, T3> AffineFold<(T0, T1, T2, T3)> for _2

source§

impl<T0, T1, T2, T3> AffineFold<(T0, T1, T2, T3)> for _3

source§

impl<T> AffineFold<Option<T>> for _Some

source§

impl<T> AffineFold<T> for Identity

source§

impl<T> AffineFold<T> for _Identity<T>

source§

impl<T, E> AffineFold<Result<T, E>> for _Err

source§

impl<T, E> AffineFold<Result<T, E>> for _Ok

source§

impl<T, L: AffineFold<T>, S, F, E, G> AffineFold<T> for MapFallible<L, F, G>
where F: Fn(L::Success) -> S, G: Fn(L::Error) -> E, L::View: Sized,