Trait tupl::Tuple

source ·
pub trait Tuple: Sealed {
    type Append<T>: Tuple;
    type Prepend<T>: Tuple;

    const ARITY: usize;

    // Required methods
    fn append<T>(self, value: T) -> Self::Append<T>;
    fn prepend<T>(self, value: T) -> Self::Prepend<T>;
}
Expand description

A trait representing tuples. It is only implemented for tuples of arity 0 to 50.
This trait is sealed and as such not meant to be implemented.

Required Associated Types§

Required Associated Constants§

source

const ARITY: usize

The arity or length of this tuple type.

Required Methods§

source

fn append<T>(self, value: T) -> Self::Append<T>

Consumes this tuple and appends a value to it, returning a new tuple.

Examples
let tuple = (1, 2);
let tuple = tuple.append(3);
assert_eq!(tuple, (1, 2, 3));
Panics

Calling this function on a tuple of arity 50 or greater will cause a panic.

source

fn prepend<T>(self, value: T) -> Self::Prepend<T>

Consumes this tuple and prepends a value to it, returning a new tuple.

Examples
let tuple = (2, 3);
let tuple = tuple.prepend(1);
assert_eq!(tuple, (1, 2, 3));
Panics

Calling this function on a tuple of arity 50 or greater will cause a panic.

Implementations on Foreign Types§

source§

impl<Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

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

§

type Append<T> = (E, D, C, B, A, T)

§

type Prepend<T> = (T, E, D, C, B, A)

source§

const ARITY: usize = 5usize

source§

fn append<T>(self, value: T) -> Self::Append<T>

source§

fn prepend<T>(self, value: T) -> Self::Prepend<T>

source§

impl<Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

impl<O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

impl<W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

impl<Υ, Τ, Σ, Ρ, Π, Ο, Ξ, Ν, Μ, Λ, Κ, Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (Υ, Τ, Σ, Ρ, Π, Ο, Ξ, Ν, Μ, Λ, Κ, Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

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

§

type Append<T> = (H, G, F, E, D, C, B, A, T)

§

type Prepend<T> = (T, H, G, F, E, D, C, B, A)

source§

const ARITY: usize = 8usize

source§

fn append<T>(self, value: T) -> Self::Append<T>

source§

fn prepend<T>(self, value: T) -> Self::Prepend<T>

source§

impl<Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

impl<Ν, Μ, Λ, Κ, Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (Ν, Μ, Λ, Κ, Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

impl<Τ, Σ, Ρ, Π, Ο, Ξ, Ν, Μ, Λ, Κ, Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (Τ, Σ, Ρ, Π, Ο, Ξ, Ν, Μ, Λ, Κ, Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

impl<Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

impl<N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

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

§

type Append<T> = (B, A, T)

§

type Prepend<T> = (T, B, A)

source§

const ARITY: usize = 2usize

source§

fn append<T>(self, value: T) -> Self::Append<T>

source§

fn prepend<T>(self, value: T) -> Self::Prepend<T>

source§

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

§

type Append<T> = (C, B, A, T)

§

type Prepend<T> = (T, C, B, A)

source§

const ARITY: usize = 3usize

source§

fn append<T>(self, value: T) -> Self::Append<T>

source§

fn prepend<T>(self, value: T) -> Self::Prepend<T>

source§

impl<Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

impl<Π, Ο, Ξ, Ν, Μ, Λ, Κ, Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (Π, Ο, Ξ, Ν, Μ, Λ, Κ, Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

impl<Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

impl<Ω, Ψ, Χ, Φ, Υ, Τ, Σ, Ρ, Π, Ο, Ξ, Ν, Μ, Λ, Κ, Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (Ω, Ψ, Χ, Φ, Υ, Τ, Σ, Ρ, Π, Ο, Ξ, Ν, Μ, Λ, Κ, Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

impl<Ξ, Ν, Μ, Λ, Κ, Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (Ξ, Ν, Μ, Λ, Κ, Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

impl<Σ, Ρ, Π, Ο, Ξ, Ν, Μ, Λ, Κ, Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (Σ, Ρ, Π, Ο, Ξ, Ν, Μ, Λ, Κ, Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

impl<Κ, Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (Κ, Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

impl<X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

impl<Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

impl<Ρ, Π, Ο, Ξ, Ν, Μ, Λ, Κ, Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (Ρ, Π, Ο, Ξ, Ν, Μ, Λ, Κ, Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

impl<Φ, Υ, Τ, Σ, Ρ, Π, Ο, Ξ, Ν, Μ, Λ, Κ, Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (Φ, Υ, Τ, Σ, Ρ, Π, Ο, Ξ, Ν, Μ, Λ, Κ, Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

impl<M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (M, L, K, J, I, H, G, F, E, D, C, B, A)

§

type Append<T> = (M, L, K, J, I, H, G, F, E, D, C, B, A, T)

§

type Prepend<T> = (T, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

const ARITY: usize = 13usize

source§

fn append<T>(self, value: T) -> Self::Append<T>

source§

fn prepend<T>(self, value: T) -> Self::Prepend<T>

source§

impl<Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

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

§

type Append<T> = (F, E, D, C, B, A, T)

§

type Prepend<T> = (T, F, E, D, C, B, A)

source§

const ARITY: usize = 6usize

source§

fn append<T>(self, value: T) -> Self::Append<T>

source§

fn prepend<T>(self, value: T) -> Self::Prepend<T>

source§

impl<Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

impl<Μ, Λ, Κ, Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (Μ, Λ, Κ, Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

impl<K, J, I, H, G, F, E, D, C, B, A> Tuple for (K, J, I, H, G, F, E, D, C, B, A)

§

type Append<T> = (K, J, I, H, G, F, E, D, C, B, A, T)

§

type Prepend<T> = (T, K, J, I, H, G, F, E, D, C, B, A)

source§

const ARITY: usize = 11usize

source§

fn append<T>(self, value: T) -> Self::Append<T>

source§

fn prepend<T>(self, value: T) -> Self::Prepend<T>

source§

impl<Ο, Ξ, Ν, Μ, Λ, Κ, Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (Ο, Ξ, Ν, Μ, Λ, Κ, Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

impl<Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

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

§

type Append<T> = (I, H, G, F, E, D, C, B, A, T)

§

type Prepend<T> = (T, I, H, G, F, E, D, C, B, A)

source§

const ARITY: usize = 9usize

source§

fn append<T>(self, value: T) -> Self::Append<T>

source§

fn prepend<T>(self, value: T) -> Self::Prepend<T>

source§

impl<A> Tuple for (A,)

§

type Append<T> = (A, T)

§

type Prepend<T> = (T, A)

source§

const ARITY: usize = 1usize

source§

fn append<T>(self, value: T) -> Self::Append<T>

source§

fn prepend<T>(self, value: T) -> Self::Prepend<T>

source§

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

§

type Append<T> = (D, C, B, A, T)

§

type Prepend<T> = (T, D, C, B, A)

source§

const ARITY: usize = 4usize

source§

fn append<T>(self, value: T) -> Self::Append<T>

source§

fn prepend<T>(self, value: T) -> Self::Prepend<T>

source§

impl<P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

impl Tuple for Infallible

§

type Prepend<T> = Infallible

§

type Append<T> = Infallible

source§

const ARITY: usize = 4_294_967_295usize

source§

fn prepend<T>(self, _: T) -> Self::Prepend<T>

source§

fn append<T>(self, _: T) -> Self::Append<T>

source§

impl Tuple for ()

§

type Append<T> = (T,)

§

type Prepend<T> = (T,)

source§

const ARITY: usize = 0usize

source§

fn append<T>(self, value: T) -> Self::Append<T>

source§

fn prepend<T>(self, value: T) -> Self::Prepend<T>

source§

impl<U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

impl<Χ, Φ, Υ, Τ, Σ, Ρ, Π, Ο, Ξ, Ν, Μ, Λ, Κ, Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (Χ, Φ, Υ, Τ, Σ, Ρ, Π, Ο, Ξ, Ν, Μ, Λ, Κ, Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

impl<Ψ, Χ, Φ, Υ, Τ, Σ, Ρ, Π, Ο, Ξ, Ν, Μ, Λ, Κ, Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (Ψ, Χ, Φ, Υ, Τ, Σ, Ρ, Π, Ο, Ξ, Ν, Μ, Λ, Κ, Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

impl<Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

impl<J, I, H, G, F, E, D, C, B, A> Tuple for (J, I, H, G, F, E, D, C, B, A)

§

type Append<T> = (J, I, H, G, F, E, D, C, B, A, T)

§

type Prepend<T> = (T, J, I, H, G, F, E, D, C, B, A)

source§

const ARITY: usize = 10usize

source§

fn append<T>(self, value: T) -> Self::Append<T>

source§

fn prepend<T>(self, value: T) -> Self::Prepend<T>

source§

impl<ඞ, Ω, Ψ, Χ, Φ, Υ, Τ, Σ, Ρ, Π, Ο, Ξ, Ν, Μ, Λ, Κ, Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (ඞ, Ω, Ψ, Χ, Φ, Υ, Τ, Σ, Ρ, Π, Ο, Ξ, Ν, Μ, Λ, Κ, Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

§

type Prepend<T> = Infallible

§

type Append<T> = Infallible

source§

const ARITY: usize = 50usize

source§

fn prepend<T>(self, _: T) -> Self::Prepend<T>

source§

fn append<T>(self, _: T) -> Self::Append<T>

source§

impl<S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

impl<Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

impl<V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

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

§

type Append<T> = (G, F, E, D, C, B, A, T)

§

type Prepend<T> = (T, G, F, E, D, C, B, A)

source§

const ARITY: usize = 7usize

source§

fn append<T>(self, value: T) -> Self::Append<T>

source§

fn prepend<T>(self, value: T) -> Self::Prepend<T>

source§

impl<Λ, Κ, Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (Λ, Κ, Ι, Θ, Η, Ζ, Ε, Δ, Γ, Β, Α, Z, Y, X, W, V, U, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

impl<R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A)

source§

impl<L, K, J, I, H, G, F, E, D, C, B, A> Tuple for (L, K, J, I, H, G, F, E, D, C, B, A)

§

type Append<T> = (L, K, J, I, H, G, F, E, D, C, B, A, T)

§

type Prepend<T> = (T, L, K, J, I, H, G, F, E, D, C, B, A)

source§

const ARITY: usize = 12usize

source§

fn append<T>(self, value: T) -> Self::Append<T>

source§

fn prepend<T>(self, value: T) -> Self::Prepend<T>

Implementors§