tinymist_std::typst::foundations

Trait Fold

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()

Required Methods§

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", so this trait is not object safe.

Implementations on Foreign Types§

§

impl Fold for bool

§

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

§

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

§

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

§

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

§

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

§

impl<T> Fold for Vec<T>

§

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

§

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

§

fn fold(self, outer: SmallVec<[T; N]>) -> SmallVec<[T; N]>

Implementors§

§

impl Fold for Abs

§

impl Fold for Depth

§

impl Fold for Alignment

§

impl Fold for Costs

§

impl Fold for FontFeatures

§

impl Fold for ItalicToggle

§

impl Fold for Length

§

impl Fold for Margin

§

impl Fold for TextSize

§

impl Fold for WeightDelta

§

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

§

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

§

impl<T> Fold for OneOrMultiple<T>

§

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

§

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

§

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

§

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

§

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

§

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