This page requires javascript to work

[][src]Trait voile::syntax::core::neut_iter::TraverseNeutral

pub trait TraverseNeutral: Sized {
    fn try_map_neutral<R>(
        self,
        f: &mut impl FnMut(Neutral) -> Result<Val, R>
    ) -> Result<Self, R>;
fn try_fold_neutral<E, R>(
        self,
        init: R,
        f: impl Fn(R, Neutral) -> Result<R, E> + Copy
    ) -> Result<R, E>; fn fold_neutral<R>(self, init: R, f: impl Fn(R, Neutral) -> R + Copy) -> R { ... }
fn map_neutral(self, f: &mut impl FnMut(Neutral) -> Val) -> Self { ... } }

Required methods

fn try_map_neutral<R>(
    self,
    f: &mut impl FnMut(Neutral) -> Result<Val, R>
) -> Result<Self, R>

Map all Neutral values in this expression.

fn try_fold_neutral<E, R>(
    self,
    init: R,
    f: impl Fn(R, Neutral) -> Result<R, E> + Copy
) -> Result<R, E>

Fold all Neutral values in this expression.

Loading content...

Provided methods

fn fold_neutral<R>(self, init: R, f: impl Fn(R, Neutral) -> R + Copy) -> R

Traverse all Neutral values the AST in a stateful manner.

fn map_neutral(self, f: &mut impl FnMut(Neutral) -> Val) -> Self

Traverse through the AST and change all Neutral values.

Loading content...

Implementors

impl TraverseNeutral for Closure[src]

impl TraverseNeutral for Val[src]

Loading content...