Skip to main content

Fold

Trait Fold 

Source
pub trait Fold {
    // Required method
    fn fold(self, outer: Self) -> Self;
}
Expand description

A property that is folded to determine its final value.

In the example below, the chain of stroke values is folded into a single value: 4pt + red.

#set rect(stroke: red)
#set rect(stroke: 4pt)
#rect()

Note: Folding must be associative, i.e. any implementation must satisfy fold(fold(a, b), c) == fold(a, fold(b, c)).

Required Methods§

Source

fn fold(self, outer: Self) -> Self

Fold this inner value with an outer folded value.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl Fold for HtmlAttrs

Source§

fn fold(self, outer: HtmlAttrs) -> HtmlAttrs

Source§

impl Fold for bool

Source§

fn fold(self, _: bool) -> bool

Source§

impl<T> Fold for Arc<T>
where T: Clone + Fold,

Source§

fn fold(self, outer: Arc<T>) -> Arc<T>

Source§

impl<T> Fold for Option<T>
where T: Fold,

Source§

fn fold(self, outer: Option<T>) -> Option<T>

Source§

impl<T> Fold for Vec<T>

Source§

fn fold(self, outer: Vec<T>) -> Vec<T>

Implementors§

Source§

impl Fold for Abs

Source§

impl Fold for Alignment

Source§

impl Fold for BaselinePos

Source§

impl Fold for Costs

Source§

impl Fold for Depth

Source§

impl Fold for FirstLineIndent

Source§

impl Fold for FontFeatures

Source§

impl Fold for FontVariations

Source§

impl Fold for ItalicToggle

Source§

impl Fold for JustificationLimits

Source§

impl Fold for Length

Source§

impl Fold for TextSize

Source§

impl Fold for WeightDelta

Source§

impl<S, D> Fold for Derived<S, D>
where S: Fold, D: Fold,

Source§

impl<T, const N: usize> Fold for SmallVec<[T; N]>

Source§

impl<T> Fold for Augment<T>
where T: Numeric + Fold,

Source§

impl<T> Fold for Celled<T>
where T: Fold,

Source§

impl<T> Fold for Corners<Option<T>>
where T: Fold,

Source§

impl<T> Fold for Limits<T>

Source§

impl<T> Fold for Margin<T>
where T: Fold + PartialEq,

Source§

impl<T> Fold for OneOrMultiple<T>

Source§

impl<T> Fold for Rel<T>
where T: NumericLength + Fold,

Source§

impl<T> Fold for Sides<Option<T>>
where T: Fold,

Source§

impl<T> Fold for Smart<T>
where T: Fold,

Source§

impl<T> Fold for Stroke<T>
where T: Numeric + Fold,