tuple - Rust
Description: API documentation for the Rust `tuple` primitive in crate `std`.
Keywords: rust, rustlang, rust-lang, tuple

# 1.0.0[−]Primitive Type tuple

A finite heterogeneous sequence, `(T, U, ..)`.

Let's cover each of those in turn:

Tuples are finite. In other words, a tuple has a length. Here's a tuple of length `3`:

    ("hello", 5, 'c');Run

'Length' is also sometimes called 'arity' here; each tuple of a different length is a different, distinct type.

Tuples are heterogeneous. This means that each element of the tuple can have a different type. In that tuple above, it has the type:

    (&'static str, i32, char)Run

Tuples are a sequence. This means that they can be accessed by position; this is called 'tuple indexing', and it looks like this:

    let tuple = ("hello", 5, 'c');

    assert_eq!(tuple.0, "hello");
    assert_eq!(tuple.1, 5);
    assert_eq!(tuple.2, 'c');Run

The sequential nature of the tuple applies to its implementations of various traits. For example, in `PartialOrd` and `Ord`, the elements are compared sequentially until the first non-equal set is found.

For more about tuples, see the book.

# Trait implementations

If every type inside a tuple implements one of the following traits, then a tuple itself also implements it.

- `Clone`
- `Copy`
- `PartialEq`
- `Eq`
- `PartialOrd`
- `Ord`
- `Debug`
- `Default`
- `Hash`

Due to a temporary restriction in Rust's type system, these traits are only implemented on tuples of arity 12 or less. In the future, this may change.

# Examples

Basic usage:

    let tuple = ("hello", 5, 'c');

    assert_eq!(tuple.0, "hello");Run

Tuples are often used as a return type when you want to return more than one value:

    fn calculate_point() -> (i32, i32) {
        // Don't do a calculation, that's not the point of the example
        (4, 5)
    }

    let point = calculate_point();

    assert_eq!(point.0, 4);
    assert_eq!(point.1, 5);

    // Combining this with patterns can be nicer.

    let (x, y) = calculate_point();

    assert_eq!(x, 4);
    assert_eq!(y, 5);Run

## Trait Implementations

### `impl<A, B, C, D> Eq for (A, B, C, D) where
A: Eq,
B: Eq,
C: Eq,
D: Eq + ?Sized,` [src]

### `impl<A, B, C> Eq for (A, B, C) where
A: Eq,
B: Eq,
C: Eq + ?Sized,` [src]

### `impl<A, B, C, D, E> Eq for (A, B, C, D, E) where
A: Eq,
B: Eq,
C: Eq,
D: Eq,
E: Eq + ?Sized,` [src]

### `impl<A, B, C, D, E, F, G, H, I, J> Eq for (A, B, C, D, E, F, G, H, I, J) where
A: Eq,
B: Eq,
C: Eq,
D: Eq,
E: Eq,
F: Eq,
G: Eq,
H: Eq,
I: Eq,
J: Eq + ?Sized,` [src]

### `impl<A, B, C, D, E, F, G, H, I, J, K, L> Eq for (A, B, C, D, E, F, G, H, I, J, K, L) where
A: Eq,
B: Eq,
C: Eq,
D: Eq,
E: Eq,
F: Eq,
G: Eq,
H: Eq,
I: Eq,
J: Eq,
K: Eq,
L: Eq + ?Sized,` [src]

### `impl<A, B> Eq for (A, B) where
A: Eq,
B: Eq + ?Sized,` [src]

### `impl<A, B, C, D, E, F, G, H, I, J, K> Eq for (A, B, C, D, E, F, G, H, I, J, K) where
A: Eq,
B: Eq,
C: Eq,
D: Eq,
E: Eq,
F: Eq,
G: Eq,
H: Eq,
I: Eq,
J: Eq,
K: Eq + ?Sized,` [src]

### `impl<A, B, C, D, E, F> Eq for (A, B, C, D, E, F) where
A: Eq,
B: Eq,
C: Eq,
D: Eq,
E: Eq,
F: Eq + ?Sized,` [src]

### `impl<A> Eq for (A,) where
A: Eq + ?Sized,` [src]

### `impl<A, B, C, D, E, F, G, H> Eq for (A, B, C, D, E, F, G, H) where
A: Eq,
B: Eq,
C: Eq,
D: Eq,
E: Eq,
F: Eq,
G: Eq,
H: Eq + ?Sized,` [src]

### `impl<A, B, C, D, E, F, G, H, I> Eq for (A, B, C, D, E, F, G, H, I) where
A: Eq,
B: Eq,
C: Eq,
D: Eq,
E: Eq,
F: Eq,
G: Eq,
H: Eq,
I: Eq + ?Sized,` [src]

### `impl<A, B, C, D, E, F, G> Eq for (A, B, C, D, E, F, G) where
A: Eq,
B: Eq,
C: Eq,
D: Eq,
E: Eq,
F: Eq,
G: Eq + ?Sized,` [src]

### `impl<A, B, C, D, E, F, G, H, I, J, K> PartialEq<(A, B, C, D, E, F, G, H, I, J, K)> for (A, B, C, D, E, F, G, H, I, J, K) where
A: PartialEq<A>,
B: PartialEq<B>,
C: PartialEq<C>,
D: PartialEq<D>,
E: PartialEq<E>,
F: PartialEq<F>,
G: PartialEq<G>,
H: PartialEq<H>,
I: PartialEq<I>,
J: PartialEq<J>,
K: PartialEq<K> + ?Sized,` [src]

#### `fn eq(&self, other: &(A, B, C, D, E, F, G, H, I, J, K)) -> bool`[src]

This method tests for `self` and `other` values to be equal, and is used by `==`. Read more

#### `fn ne(&self, other: &(A, B, C, D, E, F, G, H, I, J, K)) -> bool`[src]

This method tests for `!=`.

### `impl<A, B, C> PartialEq<(A, B, C)> for (A, B, C) where
A: PartialEq<A>,
B: PartialEq<B>,
C: PartialEq<C> + ?Sized,` [src]

#### `fn eq(&self, other: &(A, B, C)) -> bool`[src]

This method tests for `self` and `other` values to be equal, and is used by `==`. Read more

#### `fn ne(&self, other: &(A, B, C)) -> bool`[src]

This method tests for `!=`.

### `impl<A, B> PartialEq<(A, B)> for (A, B) where
A: PartialEq<A>,
B: PartialEq<B> + ?Sized,` [src]

#### `fn eq(&self, other: &(A, B)) -> bool`[src]

This method tests for `self` and `other` values to be equal, and is used by `==`. Read more

#### `fn ne(&self, other: &(A, B)) -> bool`[src]

This method tests for `!=`.

### `impl<A, B, C, D, E, F, G, H, I> PartialEq<(A, B, C, D, E, F, G, H, I)> for (A, B, C, D, E, F, G, H, I) where
A: PartialEq<A>,
B: PartialEq<B>,
C: PartialEq<C>,
D: PartialEq<D>,
E: PartialEq<E>,
F: PartialEq<F>,
G: PartialEq<G>,
H: PartialEq<H>,
I: PartialEq<I> + ?Sized,` [src]

#### `fn eq(&self, other: &(A, B, C, D, E, F, G, H, I)) -> bool`[src]

This method tests for `self` and `other` values to be equal, and is used by `==`. Read more

#### `fn ne(&self, other: &(A, B, C, D, E, F, G, H, I)) -> bool`[src]

This method tests for `!=`.

### `impl<A> PartialEq<(A,)> for (A,) where
A: PartialEq<A> + ?Sized,` [src]

#### `fn eq(&self, other: &(A,)) -> bool`[src]

This method tests for `self` and `other` values to be equal, and is used by `==`. Read more

#### `fn ne(&self, other: &(A,)) -> bool`[src]

This method tests for `!=`.

### `impl<A, B, C, D, E, F, G, H> PartialEq<(A, B, C, D, E, F, G, H)> for (A, B, C, D, E, F, G, H) where
A: PartialEq<A>,
B: PartialEq<B>,
C: PartialEq<C>,
D: PartialEq<D>,
E: PartialEq<E>,
F: PartialEq<F>,
G: PartialEq<G>,
H: PartialEq<H> + ?Sized,` [src]

#### `fn eq(&self, other: &(A, B, C, D, E, F, G, H)) -> bool`[src]

This method tests for `self` and `other` values to be equal, and is used by `==`. Read more

#### `fn ne(&self, other: &(A, B, C, D, E, F, G, H)) -> bool`[src]

This method tests for `!=`.

### `impl<A, B, C, D, E, F, G> PartialEq<(A, B, C, D, E, F, G)> for (A, B, C, D, E, F, G) where
A: PartialEq<A>,
B: PartialEq<B>,
C: PartialEq<C>,
D: PartialEq<D>,
E: PartialEq<E>,
F: PartialEq<F>,
G: PartialEq<G> + ?Sized,` [src]

#### `fn eq(&self, other: &(A, B, C, D, E, F, G)) -> bool`[src]

This method tests for `self` and `other` values to be equal, and is used by `==`. Read more

#### `fn ne(&self, other: &(A, B, C, D, E, F, G)) -> bool`[src]

This method tests for `!=`.

### `impl<A, B, C, D, E, F> PartialEq<(A, B, C, D, E, F)> for (A, B, C, D, E, F) where
A: PartialEq<A>,
B: PartialEq<B>,
C: PartialEq<C>,
D: PartialEq<D>,
E: PartialEq<E>,
F: PartialEq<F> + ?Sized,` [src]

#### `fn eq(&self, other: &(A, B, C, D, E, F)) -> bool`[src]

This method tests for `self` and `other` values to be equal, and is used by `==`. Read more

#### `fn ne(&self, other: &(A, B, C, D, E, F)) -> bool`[src]

This method tests for `!=`.

### `impl<A, B, C, D, E> PartialEq<(A, B, C, D, E)> for (A, B, C, D, E) where
A: PartialEq<A>,
B: PartialEq<B>,
C: PartialEq<C>,
D: PartialEq<D>,
E: PartialEq<E> + ?Sized,` [src]

#### `fn eq(&self, other: &(A, B, C, D, E)) -> bool`[src]

This method tests for `self` and `other` values to be equal, and is used by `==`. Read more

#### `fn ne(&self, other: &(A, B, C, D, E)) -> bool`[src]

This method tests for `!=`.

### `impl<A, B, C, D> PartialEq<(A, B, C, D)> for (A, B, C, D) where
A: PartialEq<A>,
B: PartialEq<B>,
C: PartialEq<C>,
D: PartialEq<D> + ?Sized,` [src]

#### `fn eq(&self, other: &(A, B, C, D)) -> bool`[src]

This method tests for `self` and `other` values to be equal, and is used by `==`. Read more

#### `fn ne(&self, other: &(A, B, C, D)) -> bool`[src]

This method tests for `!=`.

### `impl<A, B, C, D, E, F, G, H, I, J, K, L> PartialEq<(A, B, C, D, E, F, G, H, I, J, K, L)> for (A, B, C, D, E, F, G, H, I, J, K, L) where
A: PartialEq<A>,
B: PartialEq<B>,
C: PartialEq<C>,
D: PartialEq<D>,
E: PartialEq<E>,
F: PartialEq<F>,
G: PartialEq<G>,
H: PartialEq<H>,
I: PartialEq<I>,
J: PartialEq<J>,
K: PartialEq<K>,
L: PartialEq<L> + ?Sized,` [src]

#### `fn eq(&self, other: &(A, B, C, D, E, F, G, H, I, J, K, L)) -> bool`[src]

This method tests for `self` and `other` values to be equal, and is used by `==`. Read more

#### `fn ne(&self, other: &(A, B, C, D, E, F, G, H, I, J, K, L)) -> bool`[src]

This method tests for `!=`.

### `impl<A, B, C, D, E, F, G, H, I, J> PartialEq<(A, B, C, D, E, F, G, H, I, J)> for (A, B, C, D, E, F, G, H, I, J) where
A: PartialEq<A>,
B: PartialEq<B>,
C: PartialEq<C>,
D: PartialEq<D>,
E: PartialEq<E>,
F: PartialEq<F>,
G: PartialEq<G>,
H: PartialEq<H>,
I: PartialEq<I>,
J: PartialEq<J> + ?Sized,` [src]

#### `fn eq(&self, other: &(A, B, C, D, E, F, G, H, I, J)) -> bool`[src]

This method tests for `self` and `other` values to be equal, and is used by `==`. Read more

#### `fn ne(&self, other: &(A, B, C, D, E, F, G, H, I, J)) -> bool`[src]

This method tests for `!=`.

### `impl<A, B, C, D, E, F> Default for (A, B, C, D, E, F) where
A: Default,
B: Default,
C: Default,
D: Default,
E: Default,
F: Default,` [src]

#### `fn default() -> (A, B, C, D, E, F)`[src]

Returns the "default value" for a type. Read more

### `impl<A> Default for (A,) where
A: Default,` [src]

#### `fn default() -> (A,)`[src]

Returns the "default value" for a type. Read more

### `impl<A, B, C, D, E, F, G, H, I, J, K, L> Default for (A, B, C, D, E, F, G, H, I, J, K, L) where
A: Default,
B: Default,
C: Default,
D: Default,
E: Default,
F: Default,
G: Default,
H: Default,
I: Default,
J: Default,
K: Default,
L: Default,` [src]

#### `fn default() -> (A, B, C, D, E, F, G, H, I, J, K, L)`[src]

Returns the "default value" for a type. Read more

### `impl<A, B, C, D, E, F, G> Default for (A, B, C, D, E, F, G) where
A: Default,
B: Default,
C: Default,
D: Default,
E: Default,
F: Default,
G: Default,` [src]

#### `fn default() -> (A, B, C, D, E, F, G)`[src]

Returns the "default value" for a type. Read more

### `impl<A, B, C, D, E, F, G, H, I> Default for (A, B, C, D, E, F, G, H, I) where
A: Default,
B: Default,
C: Default,
D: Default,
E: Default,
F: Default,
G: Default,
H: Default,
I: Default,` [src]

#### `fn default() -> (A, B, C, D, E, F, G, H, I)`[src]

Returns the "default value" for a type. Read more

### `impl<A, B, C, D, E, F, G, H> Default for (A, B, C, D, E, F, G, H) where
A: Default,
B: Default,
C: Default,
D: Default,
E: Default,
F: Default,
G: Default,
H: Default,` [src]

#### `fn default() -> (A, B, C, D, E, F, G, H)`[src]

Returns the "default value" for a type. Read more

### `impl<A, B> Default for (A, B) where
A: Default,
B: Default,` [src]

#### `fn default() -> (A, B)`[src]

Returns the "default value" for a type. Read more

### `impl<A, B, C, D, E, F, G, H, I, J, K> Default for (A, B, C, D, E, F, G, H, I, J, K) where
A: Default,
B: Default,
C: Default,
D: Default,
E: Default,
F: Default,
G: Default,
H: Default,
I: Default,
J: Default,
K: Default,` [src]

#### `fn default() -> (A, B, C, D, E, F, G, H, I, J, K)`[src]

Returns the "default value" for a type. Read more

### `impl<A, B, C, D, E, F, G, H, I, J> Default for (A, B, C, D, E, F, G, H, I, J) where
A: Default,
B: Default,
C: Default,
D: Default,
E: Default,
F: Default,
G: Default,
H: Default,
I: Default,
J: Default,` [src]

#### `fn default() -> (A, B, C, D, E, F, G, H, I, J)`[src]

Returns the "default value" for a type. Read more

### `impl<A, B, C> Default for (A, B, C) where
A: Default,
B: Default,
C: Default,` [src]

#### `fn default() -> (A, B, C)`[src]

Returns the "default value" for a type. Read more

### `impl<A, B, C, D, E> Default for (A, B, C, D, E) where
A: Default,
B: Default,
C: Default,
D: Default,
E: Default,` [src]

#### `fn default() -> (A, B, C, D, E)`[src]

Returns the "default value" for a type. Read more

### `impl<A, B, C, D> Default for (A, B, C, D) where
A: Default,
B: Default,
C: Default,
D: Default,` [src]

#### `fn default() -> (A, B, C, D)`[src]

Returns the "default value" for a type. Read more

### `impl<A, B, C, D, E> Ord for (A, B, C, D, E) where
A: Ord,
B: Ord,
C: Ord,
D: Ord,
E: Ord + ?Sized,` [src]

#### `fn cmp(&self, other: &(A, B, C, D, E)) -> Ordering`[src]

This method returns an `Ordering` between `self` and `other`. Read more

#### `fn max(self, other: Self) -> Self`1.21.0[src]

Compares and returns the maximum of two values. Read more

#### `fn min(self, other: Self) -> Self`1.21.0[src]

Compares and returns the minimum of two values. Read more

#### `fn clamp(self, min: Self, max: Self) -> Self`[src]

🔬 This is a nightly-only experimental API. (`clamp` #44095)

Restrict a value to a certain interval. Read more

### `impl<A, B, C, D, E, F> Ord for (A, B, C, D, E, F) where
A: Ord,
B: Ord,
C: Ord,
D: Ord,
E: Ord,
F: Ord + ?Sized,` [src]

#### `fn cmp(&self, other: &(A, B, C, D, E, F)) -> Ordering`[src]

This method returns an `Ordering` between `self` and `other`. Read more

#### `fn max(self, other: Self) -> Self`1.21.0[src]

Compares and returns the maximum of two values. Read more

#### `fn min(self, other: Self) -> Self`1.21.0[src]

Compares and returns the minimum of two values. Read more

#### `fn clamp(self, min: Self, max: Self) -> Self`[src]

🔬 This is a nightly-only experimental API. (`clamp` #44095)

Restrict a value to a certain interval. Read more

### `impl<A> Ord for (A,) where
A: Ord + ?Sized,` [src]

#### `fn cmp(&self, other: &(A,)) -> Ordering`[src]

This method returns an `Ordering` between `self` and `other`. Read more

#### `fn max(self, other: Self) -> Self`1.21.0[src]

Compares and returns the maximum of two values. Read more

#### `fn min(self, other: Self) -> Self`1.21.0[src]

Compares and returns the minimum of two values. Read more

#### `fn clamp(self, min: Self, max: Self) -> Self`[src]

🔬 This is a nightly-only experimental API. (`clamp` #44095)

Restrict a value to a certain interval. Read more

### `impl<A, B> Ord for (A, B) where
A: Ord,
B: Ord + ?Sized,` [src]

#### `fn cmp(&self, other: &(A, B)) -> Ordering`[src]

This method returns an `Ordering` between `self` and `other`. Read more

#### `fn max(self, other: Self) -> Self`1.21.0[src]

Compares and returns the maximum of two values. Read more

#### `fn min(self, other: Self) -> Self`1.21.0[src]

Compares and returns the minimum of two values. Read more

#### `fn clamp(self, min: Self, max: Self) -> Self`[src]

🔬 This is a nightly-only experimental API. (`clamp` #44095)

Restrict a value to a certain interval. Read more

### `impl<A, B, C, D, E, F, G, H, I, J> Ord for (A, B, C, D, E, F, G, H, I, J) where
A: Ord,
B: Ord,
C: Ord,
D: Ord,
E: Ord,
F: Ord,
G: Ord,
H: Ord,
I: Ord,
J: Ord + ?Sized,` [src]

#### `fn cmp(&self, other: &(A, B, C, D, E, F, G, H, I, J)) -> Ordering`[src]

This method returns an `Ordering` between `self` and `other`. Read more

#### `fn max(self, other: Self) -> Self`1.21.0[src]

Compares and returns the maximum of two values. Read more

#### `fn min(self, other: Self) -> Self`1.21.0[src]

Compares and returns the minimum of two values. Read more

#### `fn clamp(self, min: Self, max: Self) -> Self`[src]

🔬 This is a nightly-only experimental API. (`clamp` #44095)

Restrict a value to a certain interval. Read more

### `impl<A, B, C, D, E, F, G, H> Ord for (A, B, C, D, E, F, G, H) where
A: Ord,
B: Ord,
C: Ord,
D: Ord,
E: Ord,
F: Ord,
G: Ord,
H: Ord + ?Sized,` [src]

#### `fn cmp(&self, other: &(A, B, C, D, E, F, G, H)) -> Ordering`[src]

This method returns an `Ordering` between `self` and `other`. Read more

#### `fn max(self, other: Self) -> Self`1.21.0[src]

Compares and returns the maximum of two values. Read more

#### `fn min(self, other: Self) -> Self`1.21.0[src]

Compares and returns the minimum of two values. Read more

#### `fn clamp(self, min: Self, max: Self) -> Self`[src]

🔬 This is a nightly-only experimental API. (`clamp` #44095)

Restrict a value to a certain interval. Read more

### `impl<A, B, C, D> Ord for (A, B, C, D) where
A: Ord,
B: Ord,
C: Ord,
D: Ord + ?Sized,` [src]

#### `fn cmp(&self, other: &(A, B, C, D)) -> Ordering`[src]

This method returns an `Ordering` between `self` and `other`. Read more

#### `fn max(self, other: Self) -> Self`1.21.0[src]

Compares and returns the maximum of two values. Read more

#### `fn min(self, other: Self) -> Self`1.21.0[src]

Compares and returns the minimum of two values. Read more

#### `fn clamp(self, min: Self, max: Self) -> Self`[src]

🔬 This is a nightly-only experimental API. (`clamp` #44095)

Restrict a value to a certain interval. Read more

### `impl<A, B, C, D, E, F, G, H, I, J, K> Ord for (A, B, C, D, E, F, G, H, I, J, K) where
A: Ord,
B: Ord,
C: Ord,
D: Ord,
E: Ord,
F: Ord,
G: Ord,
H: Ord,
I: Ord,
J: Ord,
K: Ord + ?Sized,` [src]

#### `fn cmp(&self, other: &(A, B, C, D, E, F, G, H, I, J, K)) -> Ordering`[src]

This method returns an `Ordering` between `self` and `other`. Read more

#### `fn max(self, other: Self) -> Self`1.21.0[src]

Compares and returns the maximum of two values. Read more

#### `fn min(self, other: Self) -> Self`1.21.0[src]

Compares and returns the minimum of two values. Read more

#### `fn clamp(self, min: Self, max: Self) -> Self`[src]

🔬 This is a nightly-only experimental API. (`clamp` #44095)

Restrict a value to a certain interval. Read more

### `impl<A, B, C> Ord for (A, B, C) where
A: Ord,
B: Ord,
C: Ord + ?Sized,` [src]

#### `fn cmp(&self, other: &(A, B, C)) -> Ordering`[src]

This method returns an `Ordering` between `self` and `other`. Read more

#### `fn max(self, other: Self) -> Self`1.21.0[src]

Compares and returns the maximum of two values. Read more

#### `fn min(self, other: Self) -> Self`1.21.0[src]

Compares and returns the minimum of two values. Read more

#### `fn clamp(self, min: Self, max: Self) -> Self`[src]

🔬 This is a nightly-only experimental API. (`clamp` #44095)

Restrict a value to a certain interval. Read more

### `impl<A, B, C, D, E, F, G, H, I> Ord for (A, B, C, D, E, F, G, H, I) where
A: Ord,
B: Ord,
C: Ord,
D: Ord,
E: Ord,
F: Ord,
G: Ord,
H: Ord,
I: Ord + ?Sized,` [src]

#### `fn cmp(&self, other: &(A, B, C, D, E, F, G, H, I)) -> Ordering`[src]

This method returns an `Ordering` between `self` and `other`. Read more

#### `fn max(self, other: Self) -> Self`1.21.0[src]

Compares and returns the maximum of two values. Read more

#### `fn min(self, other: Self) -> Self`1.21.0[src]

Compares and returns the minimum of two values. Read more

#### `fn clamp(self, min: Self, max: Self) -> Self`[src]

🔬 This is a nightly-only experimental API. (`clamp` #44095)

Restrict a value to a certain interval. Read more

### `impl<A, B, C, D, E, F, G, H, I, J, K, L> Ord for (A, B, C, D, E, F, G, H, I, J, K, L) where
A: Ord,
B: Ord,
C: Ord,
D: Ord,
E: Ord,
F: Ord,
G: Ord,
H: Ord,
I: Ord,
J: Ord,
K: Ord,
L: Ord + ?Sized,` [src]

#### `fn cmp(&self, other: &(A, B, C, D, E, F, G, H, I, J, K, L)) -> Ordering`[src]

This method returns an `Ordering` between `self` and `other`. Read more

#### `fn max(self, other: Self) -> Self`1.21.0[src]

Compares and returns the maximum of two values. Read more

#### `fn min(self, other: Self) -> Self`1.21.0[src]

Compares and returns the minimum of two values. Read more

#### `fn clamp(self, min: Self, max: Self) -> Self`[src]

🔬 This is a nightly-only experimental API. (`clamp` #44095)

Restrict a value to a certain interval. Read more

### `impl<A, B, C, D, E, F, G> Ord for (A, B, C, D, E, F, G) where
A: Ord,
B: Ord,
C: Ord,
D: Ord,
E: Ord,
F: Ord,
G: Ord + ?Sized,` [src]

#### `fn cmp(&self, other: &(A, B, C, D, E, F, G)) -> Ordering`[src]

This method returns an `Ordering` between `self` and `other`. Read more

#### `fn max(self, other: Self) -> Self`1.21.0[src]

Compares and returns the maximum of two values. Read more

#### `fn min(self, other: Self) -> Self`1.21.0[src]

Compares and returns the minimum of two values. Read more

#### `fn clamp(self, min: Self, max: Self) -> Self`[src]

🔬 This is a nightly-only experimental API. (`clamp` #44095)

Restrict a value to a certain interval. Read more

### `impl<A, B, C, D, E, F, G, H> Hash for (A, B, C, D, E, F, G, H) where
A: Hash,
B: Hash,
C: Hash,
D: Hash,
E: Hash,
F: Hash,
G: Hash,
H: Hash + ?Sized,` [src]

#### `fn hash<S>(&self, state: &mut S) where
S: Hasher,` [src]

Feeds this value into the given [`Hasher`]. Read more

#### `fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,` 1.3.0[src]

Feeds a slice of this type into the given [`Hasher`]. Read more

### `impl<A, B, C> Hash for (A, B, C) where
A: Hash,
B: Hash,
C: Hash + ?Sized,` [src]

#### `fn hash<S>(&self, state: &mut S) where
S: Hasher,` [src]

Feeds this value into the given [`Hasher`]. Read more

#### `fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,` 1.3.0[src]

Feeds a slice of this type into the given [`Hasher`]. Read more

### `impl<A, B, C, D, E, F, G> Hash for (A, B, C, D, E, F, G) where
A: Hash,
B: Hash,
C: Hash,
D: Hash,
E: Hash,
F: Hash,
G: Hash + ?Sized,` [src]

#### `fn hash<S>(&self, state: &mut S) where
S: Hasher,` [src]

Feeds this value into the given [`Hasher`]. Read more

#### `fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,` 1.3.0[src]

Feeds a slice of this type into the given [`Hasher`]. Read more

### `impl<A, B, C, D, E, F, G, H, I, J, K, L> Hash for (A, B, C, D, E, F, G, H, I, J, K, L) where
A: Hash,
B: Hash,
C: Hash,
D: Hash,
E: Hash,
F: Hash,
G: Hash,
H: Hash,
I: Hash,
J: Hash,
K: Hash,
L: Hash + ?Sized,` [src]

#### `fn hash<S>(&self, state: &mut S) where
S: Hasher,` [src]

Feeds this value into the given [`Hasher`]. Read more

#### `fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,` 1.3.0[src]

Feeds a slice of this type into the given [`Hasher`]. Read more

### `impl<A, B, C, D, E, F, G, H, I, J> Hash for (A, B, C, D, E, F, G, H, I, J) where
A: Hash,
B: Hash,
C: Hash,
D: Hash,
E: Hash,
F: Hash,
G: Hash,
H: Hash,
I: Hash,
J: Hash + ?Sized,` [src]

#### `fn hash<S>(&self, state: &mut S) where
S: Hasher,` [src]

Feeds this value into the given [`Hasher`]. Read more

#### `fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,` 1.3.0[src]

Feeds a slice of this type into the given [`Hasher`]. Read more

### `impl<A, B, C, D, E, F> Hash for (A, B, C, D, E, F) where
A: Hash,
B: Hash,
C: Hash,
D: Hash,
E: Hash,
F: Hash + ?Sized,` [src]

#### `fn hash<S>(&self, state: &mut S) where
S: Hasher,` [src]

Feeds this value into the given [`Hasher`]. Read more

#### `fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,` 1.3.0[src]

Feeds a slice of this type into the given [`Hasher`]. Read more

### `impl<A, B, C, D> Hash for (A, B, C, D) where
A: Hash,
B: Hash,
C: Hash,
D: Hash + ?Sized,` [src]

#### `fn hash<S>(&self, state: &mut S) where
S: Hasher,` [src]

Feeds this value into the given [`Hasher`]. Read more

#### `fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,` 1.3.0[src]

Feeds a slice of this type into the given [`Hasher`]. Read more

### `impl<A, B, C, D, E> Hash for (A, B, C, D, E) where
A: Hash,
B: Hash,
C: Hash,
D: Hash,
E: Hash + ?Sized,` [src]

#### `fn hash<S>(&self, state: &mut S) where
S: Hasher,` [src]

Feeds this value into the given [`Hasher`]. Read more

#### `fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,` 1.3.0[src]

Feeds a slice of this type into the given [`Hasher`]. Read more

### `impl<A, B, C, D, E, F, G, H, I> Hash for (A, B, C, D, E, F, G, H, I) where
A: Hash,
B: Hash,
C: Hash,
D: Hash,
E: Hash,
F: Hash,
G: Hash,
H: Hash,
I: Hash + ?Sized,` [src]

#### `fn hash<S>(&self, state: &mut S) where
S: Hasher,` [src]

Feeds this value into the given [`Hasher`]. Read more

#### `fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,` 1.3.0[src]

Feeds a slice of this type into the given [`Hasher`]. Read more

### `impl<A, B> Hash for (A, B) where
A: Hash,
B: Hash + ?Sized,` [src]

#### `fn hash<S>(&self, state: &mut S) where
S: Hasher,` [src]

Feeds this value into the given [`Hasher`]. Read more

#### `fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,` 1.3.0[src]

Feeds a slice of this type into the given [`Hasher`]. Read more

### `impl<A> Hash for (A,) where
A: Hash + ?Sized,` [src]

#### `fn hash<S>(&self, state: &mut S) where
S: Hasher,` [src]

Feeds this value into the given [`Hasher`]. Read more

#### `fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,` 1.3.0[src]

Feeds a slice of this type into the given [`Hasher`]. Read more

### `impl<A, B, C, D, E, F, G, H, I, J, K> Hash for (A, B, C, D, E, F, G, H, I, J, K) where
A: Hash,
B: Hash,
C: Hash,
D: Hash,
E: Hash,
F: Hash,
G: Hash,
H: Hash,
I: Hash,
J: Hash,
K: Hash + ?Sized,` [src]

#### `fn hash<S>(&self, state: &mut S) where
S: Hasher,` [src]

Feeds this value into the given [`Hasher`]. Read more

#### `fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,` 1.3.0[src]

Feeds a slice of this type into the given [`Hasher`]. Read more

### `impl<A, B, C> PartialOrd<(A, B, C)> for (A, B, C) where
A: PartialEq<A> + PartialOrd<A>,
B: PartialEq<B> + PartialOrd<B>,
C: PartialEq<C> + PartialOrd<C> + ?Sized,` [src]

#### `fn partial_cmp(&self, other: &(A, B, C)) -> Option<Ordering>`[src]

This method returns an ordering between `self` and `other` values if one exists. Read more

#### `fn lt(&self, other: &(A, B, C)) -> bool`[src]

This method tests less than (for `self` and `other`) and is used by the `<` operator. Read more

#### `fn le(&self, other: &(A, B, C)) -> bool`[src]

This method tests less than or equal to (for `self` and `other`) and is used by the `<=` operator. Read more

#### `fn ge(&self, other: &(A, B, C)) -> bool`[src]

This method tests greater than or equal to (for `self` and `other`) and is used by the `>=` operator. Read more

#### `fn gt(&self, other: &(A, B, C)) -> bool`[src]

This method tests greater than (for `self` and `other`) and is used by the `>` operator. Read more

### `impl<A, B, C, D, E, F, G, H, I, J, K, L> PartialOrd<(A, B, C, D, E, F, G, H, I, J, K, L)> for (A, B, C, D, E, F, G, H, I, J, K, L) where
A: PartialEq<A> + PartialOrd<A>,
B: PartialEq<B> + PartialOrd<B>,
C: PartialEq<C> + PartialOrd<C>,
D: PartialEq<D> + PartialOrd<D>,
E: PartialEq<E> + PartialOrd<E>,
F: PartialEq<F> + PartialOrd<F>,
G: PartialEq<G> + PartialOrd<G>,
H: PartialEq<H> + PartialOrd<H>,
I: PartialEq<I> + PartialOrd<I>,
J: PartialEq<J> + PartialOrd<J>,
K: PartialEq<K> + PartialOrd<K>,
L: PartialEq<L> + PartialOrd<L> + ?Sized,` [src]

#### `fn partial_cmp(
&self,
other: &(A, B, C, D, E, F, G, H, I, J, K, L)
) -> Option<Ordering>`[src]

This method returns an ordering between `self` and `other` values if one exists. Read more

#### `fn lt(&self, other: &(A, B, C, D, E, F, G, H, I, J, K, L)) -> bool`[src]

This method tests less than (for `self` and `other`) and is used by the `<` operator. Read more

#### `fn le(&self, other: &(A, B, C, D, E, F, G, H, I, J, K, L)) -> bool`[src]

This method tests less than or equal to (for `self` and `other`) and is used by the `<=` operator. Read more

#### `fn ge(&self, other: &(A, B, C, D, E, F, G, H, I, J, K, L)) -> bool`[src]

This method tests greater than or equal to (for `self` and `other`) and is used by the `>=` operator. Read more

#### `fn gt(&self, other: &(A, B, C, D, E, F, G, H, I, J, K, L)) -> bool`[src]

This method tests greater than (for `self` and `other`) and is used by the `>` operator. Read more

### `impl<A, B, C, D, E, F> PartialOrd<(A, B, C, D, E, F)> for (A, B, C, D, E, F) where
A: PartialEq<A> + PartialOrd<A>,
B: PartialEq<B> + PartialOrd<B>,
C: PartialEq<C> + PartialOrd<C>,
D: PartialEq<D> + PartialOrd<D>,
E: PartialEq<E> + PartialOrd<E>,
F: PartialEq<F> + PartialOrd<F> + ?Sized,` [src]

#### `fn partial_cmp(&self, other: &(A, B, C, D, E, F)) -> Option<Ordering>`[src]

This method returns an ordering between `self` and `other` values if one exists. Read more

#### `fn lt(&self, other: &(A, B, C, D, E, F)) -> bool`[src]

This method tests less than (for `self` and `other`) and is used by the `<` operator. Read more

#### `fn le(&self, other: &(A, B, C, D, E, F)) -> bool`[src]

This method tests less than or equal to (for `self` and `other`) and is used by the `<=` operator. Read more

#### `fn ge(&self, other: &(A, B, C, D, E, F)) -> bool`[src]

This method tests greater than or equal to (for `self` and `other`) and is used by the `>=` operator. Read more

#### `fn gt(&self, other: &(A, B, C, D, E, F)) -> bool`[src]

This method tests greater than (for `self` and `other`) and is used by the `>` operator. Read more

### `impl<A, B, C, D, E, F, G> PartialOrd<(A, B, C, D, E, F, G)> for (A, B, C, D, E, F, G) where
A: PartialEq<A> + PartialOrd<A>,
B: PartialEq<B> + PartialOrd<B>,
C: PartialEq<C> + PartialOrd<C>,
D: PartialEq<D> + PartialOrd<D>,
E: PartialEq<E> + PartialOrd<E>,
F: PartialEq<F> + PartialOrd<F>,
G: PartialEq<G> + PartialOrd<G> + ?Sized,` [src]

#### `fn partial_cmp(&self, other: &(A, B, C, D, E, F, G)) -> Option<Ordering>`[src]

This method returns an ordering between `self` and `other` values if one exists. Read more

#### `fn lt(&self, other: &(A, B, C, D, E, F, G)) -> bool`[src]

This method tests less than (for `self` and `other`) and is used by the `<` operator. Read more

#### `fn le(&self, other: &(A, B, C, D, E, F, G)) -> bool`[src]

This method tests less than or equal to (for `self` and `other`) and is used by the `<=` operator. Read more

#### `fn ge(&self, other: &(A, B, C, D, E, F, G)) -> bool`[src]

This method tests greater than or equal to (for `self` and `other`) and is used by the `>=` operator. Read more

#### `fn gt(&self, other: &(A, B, C, D, E, F, G)) -> bool`[src]

This method tests greater than (for `self` and `other`) and is used by the `>` operator. Read more

### `impl<A, B, C, D> PartialOrd<(A, B, C, D)> for (A, B, C, D) where
A: PartialEq<A> + PartialOrd<A>,
B: PartialEq<B> + PartialOrd<B>,
C: PartialEq<C> + PartialOrd<C>,
D: PartialEq<D> + PartialOrd<D> + ?Sized,` [src]

#### `fn partial_cmp(&self, other: &(A, B, C, D)) -> Option<Ordering>`[src]

This method returns an ordering between `self` and `other` values if one exists. Read more

#### `fn lt(&self, other: &(A, B, C, D)) -> bool`[src]

This method tests less than (for `self` and `other`) and is used by the `<` operator. Read more

#### `fn le(&self, other: &(A, B, C, D)) -> bool`[src]

This method tests less than or equal to (for `self` and `other`) and is used by the `<=` operator. Read more

#### `fn ge(&self, other: &(A, B, C, D)) -> bool`[src]

This method tests greater than or equal to (for `self` and `other`) and is used by the `>=` operator. Read more

#### `fn gt(&self, other: &(A, B, C, D)) -> bool`[src]

This method tests greater than (for `self` and `other`) and is used by the `>` operator. Read more

### `impl<A, B, C, D, E, F, G, H> PartialOrd<(A, B, C, D, E, F, G, H)> for (A, B, C, D, E, F, G, H) where
A: PartialEq<A> + PartialOrd<A>,
B: PartialEq<B> + PartialOrd<B>,
C: PartialEq<C> + PartialOrd<C>,
D: PartialEq<D> + PartialOrd<D>,
E: PartialEq<E> + PartialOrd<E>,
F: PartialEq<F> + PartialOrd<F>,
G: PartialEq<G> + PartialOrd<G>,
H: PartialEq<H> + PartialOrd<H> + ?Sized,` [src]

#### `fn partial_cmp(&self, other: &(A, B, C, D, E, F, G, H)) -> Option<Ordering>`[src]

This method returns an ordering between `self` and `other` values if one exists. Read more

#### `fn lt(&self, other: &(A, B, C, D, E, F, G, H)) -> bool`[src]

This method tests less than (for `self` and `other`) and is used by the `<` operator. Read more

#### `fn le(&self, other: &(A, B, C, D, E, F, G, H)) -> bool`[src]

This method tests less than or equal to (for `self` and `other`) and is used by the `<=` operator. Read more

#### `fn ge(&self, other: &(A, B, C, D, E, F, G, H)) -> bool`[src]

This method tests greater than or equal to (for `self` and `other`) and is used by the `>=` operator. Read more

#### `fn gt(&self, other: &(A, B, C, D, E, F, G, H)) -> bool`[src]

This method tests greater than (for `self` and `other`) and is used by the `>` operator. Read more

### `impl<A, B, C, D, E> PartialOrd<(A, B, C, D, E)> for (A, B, C, D, E) where
A: PartialEq<A> + PartialOrd<A>,
B: PartialEq<B> + PartialOrd<B>,
C: PartialEq<C> + PartialOrd<C>,
D: PartialEq<D> + PartialOrd<D>,
E: PartialEq<E> + PartialOrd<E> + ?Sized,` [src]

#### `fn partial_cmp(&self, other: &(A, B, C, D, E)) -> Option<Ordering>`[src]

This method returns an ordering between `self` and `other` values if one exists. Read more

#### `fn lt(&self, other: &(A, B, C, D, E)) -> bool`[src]

This method tests less than (for `self` and `other`) and is used by the `<` operator. Read more

#### `fn le(&self, other: &(A, B, C, D, E)) -> bool`[src]

This method tests less than or equal to (for `self` and `other`) and is used by the `<=` operator. Read more

#### `fn ge(&self, other: &(A, B, C, D, E)) -> bool`[src]

This method tests greater than or equal to (for `self` and `other`) and is used by the `>=` operator. Read more

#### `fn gt(&self, other: &(A, B, C, D, E)) -> bool`[src]

This method tests greater than (for `self` and `other`) and is used by the `>` operator. Read more

### `impl<A, B, C, D, E, F, G, H, I> PartialOrd<(A, B, C, D, E, F, G, H, I)> for (A, B, C, D, E, F, G, H, I) where
A: PartialEq<A> + PartialOrd<A>,
B: PartialEq<B> + PartialOrd<B>,
C: PartialEq<C> + PartialOrd<C>,
D: PartialEq<D> + PartialOrd<D>,
E: PartialEq<E> + PartialOrd<E>,
F: PartialEq<F> + PartialOrd<F>,
G: PartialEq<G> + PartialOrd<G>,
H: PartialEq<H> + PartialOrd<H>,
I: PartialEq<I> + PartialOrd<I> + ?Sized,` [src]

#### `fn partial_cmp(&self, other: &(A, B, C, D, E, F, G, H, I)) -> Option<Ordering>`[src]

This method returns an ordering between `self` and `other` values if one exists. Read more

#### `fn lt(&self, other: &(A, B, C, D, E, F, G, H, I)) -> bool`[src]

This method tests less than (for `self` and `other`) and is used by the `<` operator. Read more

#### `fn le(&self, other: &(A, B, C, D, E, F, G, H, I)) -> bool`[src]

This method tests less than or equal to (for `self` and `other`) and is used by the `<=` operator. Read more

#### `fn ge(&self, other: &(A, B, C, D, E, F, G, H, I)) -> bool`[src]

This method tests greater than or equal to (for `self` and `other`) and is used by the `>=` operator. Read more

#### `fn gt(&self, other: &(A, B, C, D, E, F, G, H, I)) -> bool`[src]

This method tests greater than (for `self` and `other`) and is used by the `>` operator. Read more

### `impl<A, B, C, D, E, F, G, H, I, J, K> PartialOrd<(A, B, C, D, E, F, G, H, I, J, K)> for (A, B, C, D, E, F, G, H, I, J, K) where
A: PartialEq<A> + PartialOrd<A>,
B: PartialEq<B> + PartialOrd<B>,
C: PartialEq<C> + PartialOrd<C>,
D: PartialEq<D> + PartialOrd<D>,
E: PartialEq<E> + PartialOrd<E>,
F: PartialEq<F> + PartialOrd<F>,
G: PartialEq<G> + PartialOrd<G>,
H: PartialEq<H> + PartialOrd<H>,
I: PartialEq<I> + PartialOrd<I>,
J: PartialEq<J> + PartialOrd<J>,
K: PartialEq<K> + PartialOrd<K> + ?Sized,` [src]

#### `fn partial_cmp(
&self,
other: &(A, B, C, D, E, F, G, H, I, J, K)
) -> Option<Ordering>`[src]

This method returns an ordering between `self` and `other` values if one exists. Read more

#### `fn lt(&self, other: &(A, B, C, D, E, F, G, H, I, J, K)) -> bool`[src]

This method tests less than (for `self` and `other`) and is used by the `<` operator. Read more

#### `fn le(&self, other: &(A, B, C, D, E, F, G, H, I, J, K)) -> bool`[src]

This method tests less than or equal to (for `self` and `other`) and is used by the `<=` operator. Read more

#### `fn ge(&self, other: &(A, B, C, D, E, F, G, H, I, J, K)) -> bool`[src]

This method tests greater than or equal to (for `self` and `other`) and is used by the `>=` operator. Read more

#### `fn gt(&self, other: &(A, B, C, D, E, F, G, H, I, J, K)) -> bool`[src]

This method tests greater than (for `self` and `other`) and is used by the `>` operator. Read more

### `impl<A, B> PartialOrd<(A, B)> for (A, B) where
A: PartialEq<A> + PartialOrd<A>,
B: PartialEq<B> + PartialOrd<B> + ?Sized,` [src]

#### `fn partial_cmp(&self, other: &(A, B)) -> Option<Ordering>`[src]

This method returns an ordering between `self` and `other` values if one exists. Read more

#### `fn lt(&self, other: &(A, B)) -> bool`[src]

This method tests less than (for `self` and `other`) and is used by the `<` operator. Read more

#### `fn le(&self, other: &(A, B)) -> bool`[src]

This method tests less than or equal to (for `self` and `other`) and is used by the `<=` operator. Read more

#### `fn ge(&self, other: &(A, B)) -> bool`[src]

This method tests greater than or equal to (for `self` and `other`) and is used by the `>=` operator. Read more

#### `fn gt(&self, other: &(A, B)) -> bool`[src]

This method tests greater than (for `self` and `other`) and is used by the `>` operator. Read more

### `impl<A> PartialOrd<(A,)> for (A,) where
A: PartialEq<A> + PartialOrd<A> + ?Sized,` [src]

#### `fn partial_cmp(&self, other: &(A,)) -> Option<Ordering>`[src]

This method returns an ordering between `self` and `other` values if one exists. Read more

#### `fn lt(&self, other: &(A,)) -> bool`[src]

This method tests less than (for `self` and `other`) and is used by the `<` operator. Read more

#### `fn le(&self, other: &(A,)) -> bool`[src]

This method tests less than or equal to (for `self` and `other`) and is used by the `<=` operator. Read more

#### `fn ge(&self, other: &(A,)) -> bool`[src]

This method tests greater than or equal to (for `self` and `other`) and is used by the `>=` operator. Read more

#### `fn gt(&self, other: &(A,)) -> bool`[src]

This method tests greater than (for `self` and `other`) and is used by the `>` operator. Read more

### `impl<A, B, C, D, E, F, G, H, I, J> PartialOrd<(A, B, C, D, E, F, G, H, I, J)> for (A, B, C, D, E, F, G, H, I, J) where
A: PartialEq<A> + PartialOrd<A>,
B: PartialEq<B> + PartialOrd<B>,
C: PartialEq<C> + PartialOrd<C>,
D: PartialEq<D> + PartialOrd<D>,
E: PartialEq<E> + PartialOrd<E>,
F: PartialEq<F> + PartialOrd<F>,
G: PartialEq<G> + PartialOrd<G>,
H: PartialEq<H> + PartialOrd<H>,
I: PartialEq<I> + PartialOrd<I>,
J: PartialEq<J> + PartialOrd<J> + ?Sized,` [src]

#### `fn partial_cmp(
&self,
other: &(A, B, C, D, E, F, G, H, I, J)
) -> Option<Ordering>`[src]

This method returns an ordering between `self` and `other` values if one exists. Read more

#### `fn lt(&self, other: &(A, B, C, D, E, F, G, H, I, J)) -> bool`[src]

This method tests less than (for `self` and `other`) and is used by the `<` operator. Read more

#### `fn le(&self, other: &(A, B, C, D, E, F, G, H, I, J)) -> bool`[src]

This method tests less than or equal to (for `self` and `other`) and is used by the `<=` operator. Read more

#### `fn ge(&self, other: &(A, B, C, D, E, F, G, H, I, J)) -> bool`[src]

This method tests greater than or equal to (for `self` and `other`) and is used by the `>=` operator. Read more

#### `fn gt(&self, other: &(A, B, C, D, E, F, G, H, I, J)) -> bool`[src]

This method tests greater than (for `self` and `other`) and is used by the `>` operator. Read more

### `impl<T9, T10, T11> Debug for (T9, T10, T11) where
T10: Debug,
T11: Debug + ?Sized,
T9: Debug,` [src]

#### `fn fmt(&self, f: &mut Formatter) -> Result<(), Error>`[src]

Formats the value using the given formatter. Read more

### `impl<T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T4, T5, T6, T7, T8, T9, T10, T11) where
T10: Debug,
T11: Debug + ?Sized,
T4: Debug,
T5: Debug,
T6: Debug,
T7: Debug,
T8: Debug,
T9: Debug,` [src]

#### `fn fmt(&self, f: &mut Formatter) -> Result<(), Error>`[src]

Formats the value using the given formatter. Read more

### `impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where
T1: Debug,
T10: Debug,
T11: Debug + ?Sized,
T2: Debug,
T3: Debug,
T4: Debug,
T5: Debug,
T6: Debug,
T7: Debug,
T8: Debug,
T9: Debug,` [src]

#### `fn fmt(&self, f: &mut Formatter) -> Result<(), Error>`[src]

Formats the value using the given formatter. Read more

### `impl<T5, T6, T7, T8, T9, T10, T11> Debug for (T5, T6, T7, T8, T9, T10, T11) where
T10: Debug,
T11: Debug + ?Sized,
T5: Debug,
T6: Debug,
T7: Debug,
T8: Debug,
T9: Debug,` [src]

#### `fn fmt(&self, f: &mut Formatter) -> Result<(), Error>`[src]

Formats the value using the given formatter. Read more

### `impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where
T0: Debug,
T1: Debug,
T10: Debug,
T11: Debug + ?Sized,
T2: Debug,
T3: Debug,
T4: Debug,
T5: Debug,
T6: Debug,
T7: Debug,
T8: Debug,
T9: Debug,` [src]

#### `fn fmt(&self, f: &mut Formatter) -> Result<(), Error>`[src]

Formats the value using the given formatter. Read more

### `impl<T7, T8, T9, T10, T11> Debug for (T7, T8, T9, T10, T11) where
T10: Debug,
T11: Debug + ?Sized,
T7: Debug,
T8: Debug,
T9: Debug,` [src]

#### `fn fmt(&self, f: &mut Formatter) -> Result<(), Error>`[src]

Formats the value using the given formatter. Read more

### `impl<T6, T7, T8, T9, T10, T11> Debug for (T6, T7, T8, T9, T10, T11) where
T10: Debug,
T11: Debug + ?Sized,
T6: Debug,
T7: Debug,
T8: Debug,
T9: Debug,` [src]

#### `fn fmt(&self, f: &mut Formatter) -> Result<(), Error>`[src]

Formats the value using the given formatter. Read more

### `impl<T11> Debug for (T11,) where
T11: Debug + ?Sized,` [src]

#### `fn fmt(&self, f: &mut Formatter) -> Result<(), Error>`[src]

Formats the value using the given formatter. Read more

### `impl<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where
T10: Debug,
T11: Debug + ?Sized,
T2: Debug,
T3: Debug,
T4: Debug,
T5: Debug,
T6: Debug,
T7: Debug,
T8: Debug,
T9: Debug,` [src]

#### `fn fmt(&self, f: &mut Formatter) -> Result<(), Error>`[src]

Formats the value using the given formatter. Read more

### `impl<T8, T9, T10, T11> Debug for (T8, T9, T10, T11) where
T10: Debug,
T11: Debug + ?Sized,
T8: Debug,
T9: Debug,` [src]

#### `fn fmt(&self, f: &mut Formatter) -> Result<(), Error>`[src]

Formats the value using the given formatter. Read more

### `impl<T3, T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T3, T4, T5, T6, T7, T8, T9, T10, T11) where
T10: Debug,
T11: Debug + ?Sized,
T3: Debug,
T4: Debug,
T5: Debug,
T6: Debug,
T7: Debug,
T8: Debug,
T9: Debug,` [src]

#### `fn fmt(&self, f: &mut Formatter) -> Result<(), Error>`[src]

Formats the value using the given formatter. Read more

### `impl<T10, T11> Debug for (T10, T11) where
T10: Debug,
T11: Debug + ?Sized,` [src]

#### `fn fmt(&self, f: &mut Formatter) -> Result<(), Error>`[src]

Formats the value using the given formatter. Read more

### `impl<'a, T> RangeBounds<T> for (Bound<&'a T>, Bound<&'a T>) where
T: 'a + ?Sized,` 1.28.0[src]

#### `fn start_bound(&self) -> Bound<&T>`[src]

Start index bound. Read more

#### `fn end_bound(&self) -> Bound<&T>`[src]

End index bound. Read more

#### `fn contains<U>(&self, item: &U) -> bool where
T: PartialOrd<U>,
U: PartialOrd<T> + ?Sized,` 1.35.0[src]

Returns `true` if `item` is contained in the range. Read more

### `impl<T> RangeBounds<T> for (Bound<T>, Bound<T>)`1.28.0[src]

#### `fn start_bound(&self) -> Bound<&T>`[src]

Start index bound. Read more

#### `fn end_bound(&self) -> Bound<&T>`[src]

End index bound. Read more

#### `fn contains<U>(&self, item: &U) -> bool where
T: PartialOrd<U>,
U: PartialOrd<T> + ?Sized,` 1.35.0[src]

Returns `true` if `item` is contained in the range. Read more

### `impl ToSocketAddrs for (IpAddr, u16)`[src]

#### `type Iter = IntoIter<SocketAddr>`

Returned iterator over socket addresses which this type may correspond to. Read more

#### `fn to_socket_addrs(&self) -> Result<IntoIter<SocketAddr>>`[src]

Converts this object to an iterator of resolved `SocketAddr`s. Read more

### `impl ToSocketAddrs for (Ipv4Addr, u16)`[src]

#### `type Iter = IntoIter<SocketAddr>`

Returned iterator over socket addresses which this type may correspond to. Read more

#### `fn to_socket_addrs(&self) -> Result<IntoIter<SocketAddr>>`[src]

Converts this object to an iterator of resolved `SocketAddr`s. Read more

### `impl ToSocketAddrs for (Ipv6Addr, u16)`[src]

#### `type Iter = IntoIter<SocketAddr>`

Returned iterator over socket addresses which this type may correspond to. Read more

#### `fn to_socket_addrs(&self) -> Result<IntoIter<SocketAddr>>`[src]

Converts this object to an iterator of resolved `SocketAddr`s. Read more

### `impl<'_> ToSocketAddrs for (&'_ str, u16)`[src]

#### `type Iter = IntoIter<SocketAddr>`

Returned iterator over socket addresses which this type may correspond to. Read more

#### `fn to_socket_addrs(&self) -> Result<IntoIter<SocketAddr>>`[src]

Converts this object to an iterator of resolved `SocketAddr`s. Read more