Flatten

Trait Flatten 

Source
pub trait Flatten {
    type Flattened;

    // Required method
    fn flatten(self) -> Self::Flattened;
}
Expand description

Flatten a nested tuple like (A, (B, (C, ()))) to a flat one like (A, B, C)

Required Associated Types§

Source

type Flattened

Flat tuple, e.g. (A, B, C), not (A, (B, (C, ()))).

Required Methods§

Source

fn flatten(self) -> Self::Flattened

Flatten e.g. (A, (B, (C, ()))) into (A, B, C).

Implementations on Foreign Types§

Source§

impl Flatten for ()

Source§

impl<A> Flatten for (A, ())

Source§

impl<A, B> Flatten for (A, (B, ()))

Source§

impl<A, B, C> Flatten for (A, (B, (C, ())))

Source§

impl<A, B, C, D> Flatten for (A, (B, (C, (D, ()))))

Source§

impl<A, B, C, D, E> Flatten for (A, (B, (C, (D, (E, ())))))

Source§

impl<A, B, C, D, E, F> Flatten for (A, (B, (C, (D, (E, (F, ()))))))

Source§

impl<A, B, C, D, E, F, G> Flatten for (A, (B, (C, (D, (E, (F, (G, ())))))))

Source§

impl<A, B, C, D, E, F, G, H> Flatten for (A, (B, (C, (D, (E, (F, (G, (H, ()))))))))

Implementors§