Trait Lens

Source
pub trait Lens<S, A> {
    // Required methods
    fn get(s: &S) -> Option<&A>;
    fn set(a: A, s: &S) -> S;

    // Provided method
    fn over(s: &S, f: &dyn Fn(Option<&A>) -> A) -> S { ... }
}

Required Methods§

Source

fn get(s: &S) -> Option<&A>

Source

fn set(a: A, s: &S) -> S

Provided Methods§

Source

fn over(s: &S, f: &dyn Fn(Option<&A>) -> A) -> S

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§