Expand description
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');‘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)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');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.
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");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);Trait Implementations
sourceimpl<T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T4, T5, T6, T7, T8, T9, T10, T11) where
    T4: Debug,
    T5: Debug,
    T6: Debug,
    T7: Debug,
    T8: Debug,
    T9: Debug,
    T10: Debug,
    T11: Debug + ?Sized, 
 
impl<T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T4, T5, T6, T7, T8, T9, T10, T11) where
    T4: Debug,
    T5: Debug,
    T6: Debug,
    T7: Debug,
    T8: Debug,
    T9: Debug,
    T10: Debug,
    T11: Debug + ?Sized, 
sourceimpl<T8, T9, T10, T11> Debug for (T8, T9, T10, T11) where
    T8: Debug,
    T9: Debug,
    T10: Debug,
    T11: Debug + ?Sized, 
 
impl<T8, T9, T10, T11> Debug for (T8, T9, T10, T11) where
    T8: Debug,
    T9: Debug,
    T10: Debug,
    T11: Debug + ?Sized, 
sourceimpl<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,
    T2: Debug,
    T3: Debug,
    T4: Debug,
    T5: Debug,
    T6: Debug,
    T7: Debug,
    T8: Debug,
    T9: Debug,
    T10: Debug,
    T11: Debug + ?Sized, 
 
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,
    T2: Debug,
    T3: Debug,
    T4: Debug,
    T5: Debug,
    T6: Debug,
    T7: Debug,
    T8: Debug,
    T9: Debug,
    T10: Debug,
    T11: Debug + ?Sized, 
sourceimpl<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where
    T2: Debug,
    T3: Debug,
    T4: Debug,
    T5: Debug,
    T6: Debug,
    T7: Debug,
    T8: Debug,
    T9: Debug,
    T10: Debug,
    T11: Debug + ?Sized, 
 
impl<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where
    T2: Debug,
    T3: Debug,
    T4: Debug,
    T5: Debug,
    T6: Debug,
    T7: Debug,
    T8: Debug,
    T9: Debug,
    T10: Debug,
    T11: Debug + ?Sized, 
sourceimpl<T3, T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T3, T4, T5, T6, T7, T8, T9, T10, T11) where
    T3: Debug,
    T4: Debug,
    T5: Debug,
    T6: Debug,
    T7: Debug,
    T8: Debug,
    T9: Debug,
    T10: Debug,
    T11: Debug + ?Sized, 
 
impl<T3, T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T3, T4, T5, T6, T7, T8, T9, T10, T11) where
    T3: Debug,
    T4: Debug,
    T5: Debug,
    T6: Debug,
    T7: Debug,
    T8: Debug,
    T9: Debug,
    T10: Debug,
    T11: Debug + ?Sized, 
sourceimpl<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,
    T2: Debug,
    T3: Debug,
    T4: Debug,
    T5: Debug,
    T6: Debug,
    T7: Debug,
    T8: Debug,
    T9: Debug,
    T10: Debug,
    T11: Debug + ?Sized, 
 
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,
    T2: Debug,
    T3: Debug,
    T4: Debug,
    T5: Debug,
    T6: Debug,
    T7: Debug,
    T8: Debug,
    T9: Debug,
    T10: Debug,
    T11: Debug + ?Sized, 
sourceimpl<T7, T8, T9, T10, T11> Debug for (T7, T8, T9, T10, T11) where
    T7: Debug,
    T8: Debug,
    T9: Debug,
    T10: Debug,
    T11: Debug + ?Sized, 
 
impl<T7, T8, T9, T10, T11> Debug for (T7, T8, T9, T10, T11) where
    T7: Debug,
    T8: Debug,
    T9: Debug,
    T10: Debug,
    T11: Debug + ?Sized, 
sourceimpl<T5, T6, T7, T8, T9, T10, T11> Debug for (T5, T6, T7, T8, T9, T10, T11) where
    T5: Debug,
    T6: Debug,
    T7: Debug,
    T8: Debug,
    T9: Debug,
    T10: Debug,
    T11: Debug + ?Sized, 
 
impl<T5, T6, T7, T8, T9, T10, T11> Debug for (T5, T6, T7, T8, T9, T10, T11) where
    T5: Debug,
    T6: Debug,
    T7: Debug,
    T8: Debug,
    T9: Debug,
    T10: Debug,
    T11: Debug + ?Sized, 
sourceimpl<T6, T7, T8, T9, T10, T11> Debug for (T6, T7, T8, T9, T10, T11) where
    T6: Debug,
    T7: Debug,
    T8: Debug,
    T9: Debug,
    T10: Debug,
    T11: Debug + ?Sized, 
 
impl<T6, T7, T8, T9, T10, T11> Debug for (T6, T7, T8, T9, T10, T11) where
    T6: Debug,
    T7: Debug,
    T8: Debug,
    T9: Debug,
    T10: Debug,
    T11: Debug + ?Sized, 
sourceimpl<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, 
 
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, 
sourceimpl<C, D, E, F, G, H, I, J, K, L> Default for (C, D, E, F, G, H, I, J, K, L) where
    C: Default,
    D: Default,
    E: Default,
    F: Default,
    G: Default,
    H: Default,
    I: Default,
    J: Default,
    K: Default,
    L: Default, 
 
impl<C, D, E, F, G, H, I, J, K, L> Default for (C, D, E, F, G, H, I, J, K, L) where
    C: Default,
    D: Default,
    E: Default,
    F: Default,
    G: Default,
    H: Default,
    I: Default,
    J: Default,
    K: Default,
    L: Default, 
sourceimpl<D, E, F, G, H, I, J, K, L> Default for (D, E, F, G, H, I, J, K, L) where
    D: Default,
    E: Default,
    F: Default,
    G: Default,
    H: Default,
    I: Default,
    J: Default,
    K: Default,
    L: Default, 
 
impl<D, E, F, G, H, I, J, K, L> Default for (D, E, F, G, H, I, J, K, L) where
    D: Default,
    E: Default,
    F: Default,
    G: Default,
    H: Default,
    I: Default,
    J: Default,
    K: Default,
    L: Default, 
sourceimpl<B, C, D, E, F, G, H, I, J, K, L> Default for (B, C, D, E, F, G, H, I, J, K, L) where
    B: Default,
    C: Default,
    D: Default,
    E: Default,
    F: Default,
    G: Default,
    H: Default,
    I: Default,
    J: Default,
    K: Default,
    L: Default, 
 
impl<B, C, D, E, F, G, H, I, J, K, L> Default for (B, C, D, E, F, G, H, I, J, K, L) where
    B: Default,
    C: Default,
    D: Default,
    E: Default,
    F: Default,
    G: Default,
    H: Default,
    I: Default,
    J: Default,
    K: Default,
    L: Default, 
sourceimpl<H, I, J, K, L> Default for (H, I, J, K, L) where
    H: Default,
    I: Default,
    J: Default,
    K: Default,
    L: Default, 
 
impl<H, I, J, K, L> Default for (H, I, J, K, L) where
    H: Default,
    I: Default,
    J: Default,
    K: Default,
    L: Default, 
sourceimpl<E, F, G, H, I, J, K, L> Default for (E, F, G, H, I, J, K, L) where
    E: Default,
    F: Default,
    G: Default,
    H: Default,
    I: Default,
    J: Default,
    K: Default,
    L: Default, 
 
impl<E, F, G, H, I, J, K, L> Default for (E, F, G, H, I, J, K, L) where
    E: Default,
    F: Default,
    G: Default,
    H: Default,
    I: Default,
    J: Default,
    K: Default,
    L: Default, 
sourceimpl<G, H, I, J, K, L> Default for (G, H, I, J, K, L) where
    G: Default,
    H: Default,
    I: Default,
    J: Default,
    K: Default,
    L: Default, 
 
impl<G, H, I, J, K, L> Default for (G, H, I, J, K, L) where
    G: Default,
    H: Default,
    I: Default,
    J: Default,
    K: Default,
    L: Default, 
sourceimpl<F, G, H, I, J, K, L> Default for (F, G, H, I, J, K, L) where
    F: Default,
    G: Default,
    H: Default,
    I: Default,
    J: Default,
    K: Default,
    L: Default, 
 
impl<F, G, H, I, J, K, L> Default for (F, G, H, I, J, K, L) where
    F: Default,
    G: Default,
    H: Default,
    I: Default,
    J: Default,
    K: Default,
    L: Default, 
sourceimpl<I, J, K, L> Default for (I, J, K, L) where
    I: Default,
    J: Default,
    K: Default,
    L: Default, 
 
impl<I, J, K, L> Default for (I, J, K, L) where
    I: Default,
    J: Default,
    K: Default,
    L: Default, 
1.2.0 · sourceimpl<'a, K, V> Extend<(&'a K, &'a V)> for BTreeMap<K, V> where
    K: Ord + Copy,
    V: Copy, 
 
impl<'a, K, V> Extend<(&'a K, &'a V)> for BTreeMap<K, V> where
    K: Ord + Copy,
    V: Copy, 
sourcefn extend<I>(&mut self, iter: I) where
    I: IntoIterator<Item = (&'a K, &'a V)>, 
 
fn extend<I>(&mut self, iter: I) where
    I: IntoIterator<Item = (&'a K, &'a V)>, 
Extends a collection with the contents of an iterator. Read more
sourcefn extend_reserve(&mut self, additional: usize)
 
fn extend_reserve(&mut self, additional: usize)
Reserves capacity in a collection for the given number of additional elements. Read more
1.4.0 · sourceimpl<'a, K, V, S> Extend<(&'a K, &'a V)> for HashMap<K, V, S> where
    K: Eq + Hash + Copy,
    V: Copy,
    S: BuildHasher, 
 
impl<'a, K, V, S> Extend<(&'a K, &'a V)> for HashMap<K, V, S> where
    K: Eq + Hash + Copy,
    V: Copy,
    S: BuildHasher, 
sourcefn extend<T: IntoIterator<Item = (&'a K, &'a V)>>(&mut self, iter: T)
 
fn extend<T: IntoIterator<Item = (&'a K, &'a V)>>(&mut self, iter: T)
Extends a collection with the contents of an iterator. Read more
sourcefn extend_one(&mut self, (k, v): (&'a K, &'a V))
 
fn extend_one(&mut self, (k, v): (&'a K, &'a V))
Extends a collection with exactly one element.
sourcefn extend_reserve(&mut self, additional: usize)
 
fn extend_reserve(&mut self, additional: usize)
Reserves capacity in a collection for the given number of additional elements. Read more
1.56.0 · sourceimpl<A, B, ExtendA, ExtendB> Extend<(A, B)> for (ExtendA, ExtendB) where
    ExtendA: Extend<A>,
    ExtendB: Extend<B>, 
 
impl<A, B, ExtendA, ExtendB> Extend<(A, B)> for (ExtendA, ExtendB) where
    ExtendA: Extend<A>,
    ExtendB: Extend<B>, 
sourcefn extend<T>(&mut self, into_iter: T) where
    T: IntoIterator<Item = (A, B)>, 
 
fn extend<T>(&mut self, into_iter: T) where
    T: IntoIterator<Item = (A, B)>, 
Allows to extend a tuple of collections that also implement Extend.
See also: Iterator::unzip
Examples
let mut tuple = (vec![0], vec![1]);
tuple.extend([(2, 3), (4, 5), (6, 7)]);
assert_eq!(tuple.0, [0, 2, 4, 6]);
assert_eq!(tuple.1, [1, 3, 5, 7]);
// also allows for arbitrarily nested tuples as elements
let mut nested_tuple = (vec![1], (vec![2], vec![3]));
nested_tuple.extend([(4, (5, 6)), (7, (8, 9))]);
let (a, (b, c)) = nested_tuple;
assert_eq!(a, [1, 4, 7]);
assert_eq!(b, [2, 5, 8]);
assert_eq!(c, [3, 6, 9]);sourcefn extend_reserve(&mut self, additional: usize)
 
fn extend_reserve(&mut self, additional: usize)
Reserves capacity in a collection for the given number of additional elements. Read more
sourceimpl<K, V> Extend<(K, V)> for BTreeMap<K, V> where
    K: Ord, 
 
impl<K, V> Extend<(K, V)> for BTreeMap<K, V> where
    K: Ord, 
sourcefn extend<T>(&mut self, iter: T) where
    T: IntoIterator<Item = (K, V)>, 
 
fn extend<T>(&mut self, iter: T) where
    T: IntoIterator<Item = (K, V)>, 
Extends a collection with the contents of an iterator. Read more
sourcefn extend_reserve(&mut self, additional: usize)
 
fn extend_reserve(&mut self, additional: usize)
Reserves capacity in a collection for the given number of additional elements. Read more
sourceimpl<K, V, S> Extend<(K, V)> for HashMap<K, V, S> where
    K: Eq + Hash,
    S: BuildHasher, 
 
impl<K, V, S> Extend<(K, V)> for HashMap<K, V, S> where
    K: Eq + Hash,
    S: BuildHasher, 
Inserts all new key-values from the iterator and replaces values with existing keys with new values returned from the iterator.
sourcefn extend<T: IntoIterator<Item = (K, V)>>(&mut self, iter: T)
 
fn extend<T: IntoIterator<Item = (K, V)>>(&mut self, iter: T)
Extends a collection with the contents of an iterator. Read more
sourcefn extend_reserve(&mut self, additional: usize)
 
fn extend_reserve(&mut self, additional: usize)
Reserves capacity in a collection for the given number of additional elements. Read more
1.17.0 · sourceimpl<I: Into<IpAddr>> From<(I, u16)> for SocketAddr
 
impl<I: Into<IpAddr>> From<(I, u16)> for SocketAddr
sourcefn from(pieces: (I, u16)) -> SocketAddr
 
fn from(pieces: (I, u16)) -> SocketAddr
Converts a tuple struct (Into<IpAddr>, u16) into a SocketAddr.
This conversion creates a SocketAddr::V4 for an IpAddr::V4
and creates a SocketAddr::V6 for an IpAddr::V6.
u16 is treated as port of the newly created SocketAddr.
sourceimpl<K, V, S> FromIterator<(K, V)> for HashMap<K, V, S> where
    K: Eq + Hash,
    S: BuildHasher + Default, 
 
impl<K, V, S> FromIterator<(K, V)> for HashMap<K, V, S> where
    K: Eq + Hash,
    S: BuildHasher + Default, 
sourceimpl<A, B, C, D, E> Hash for (A, B, C, D, E) where
    A: Hash,
    B: Hash,
    C: Hash,
    D: Hash,
    E: Hash + ?Sized, 
 
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, 
sourceimpl<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, 
 
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, 
sourceimpl<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, 
 
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, 
sourceimpl<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, 
 
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, 
sourceimpl<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, 
 
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, 
sourceimpl<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, 
 
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, 
sourceimpl<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, 
 
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, 
sourceimpl<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, 
 
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, 
sourceimpl<G, H, I, J, K, L> Ord for (G, H, I, J, K, L) where
    G: Ord,
    H: Ord,
    I: Ord,
    J: Ord,
    K: Ord,
    L: Ord + ?Sized, 
 
impl<G, H, I, J, K, L> Ord for (G, H, I, J, K, L) where
    G: Ord,
    H: Ord,
    I: Ord,
    J: Ord,
    K: Ord,
    L: Ord + ?Sized, 
sourceimpl<B, C, D, E, F, G, H, I, J, K, L> Ord for (B, C, D, E, F, G, H, I, J, K, L) where
    B: Ord,
    C: Ord,
    D: Ord,
    E: Ord,
    F: Ord,
    G: Ord,
    H: Ord,
    I: Ord,
    J: Ord,
    K: Ord,
    L: Ord + ?Sized, 
 
impl<B, C, D, E, F, G, H, I, J, K, L> Ord for (B, C, D, E, F, G, H, I, J, K, L) where
    B: Ord,
    C: Ord,
    D: Ord,
    E: Ord,
    F: Ord,
    G: Ord,
    H: Ord,
    I: Ord,
    J: Ord,
    K: Ord,
    L: Ord + ?Sized, 
sourceimpl<L> Ord for (L,) where
    L: Ord + ?Sized, 
 
impl<L> Ord for (L,) where
    L: Ord + ?Sized, 
sourceimpl<F, G, H, I, J, K, L> Ord for (F, G, H, I, J, K, L) where
    F: Ord,
    G: Ord,
    H: Ord,
    I: Ord,
    J: Ord,
    K: Ord,
    L: Ord + ?Sized, 
 
impl<F, G, H, I, J, K, L> Ord for (F, G, H, I, J, K, L) where
    F: Ord,
    G: Ord,
    H: Ord,
    I: Ord,
    J: Ord,
    K: Ord,
    L: Ord + ?Sized, 
sourceimpl<C, D, E, F, G, H, I, J, K, L> Ord for (C, D, E, F, G, H, I, J, K, L) where
    C: Ord,
    D: Ord,
    E: Ord,
    F: Ord,
    G: Ord,
    H: Ord,
    I: Ord,
    J: Ord,
    K: Ord,
    L: Ord + ?Sized, 
 
impl<C, D, E, F, G, H, I, J, K, L> Ord for (C, D, E, F, G, H, I, J, K, L) where
    C: Ord,
    D: Ord,
    E: Ord,
    F: Ord,
    G: Ord,
    H: Ord,
    I: Ord,
    J: Ord,
    K: Ord,
    L: Ord + ?Sized, 
sourceimpl<D, E, F, G, H, I, J, K, L> Ord for (D, E, F, G, H, I, J, K, L) where
    D: Ord,
    E: Ord,
    F: Ord,
    G: Ord,
    H: Ord,
    I: Ord,
    J: Ord,
    K: Ord,
    L: Ord + ?Sized, 
 
impl<D, E, F, G, H, I, J, K, L> Ord for (D, E, F, G, H, I, J, K, L) where
    D: Ord,
    E: Ord,
    F: Ord,
    G: Ord,
    H: Ord,
    I: Ord,
    J: Ord,
    K: Ord,
    L: Ord + ?Sized, 
sourceimpl<H, I, J, K, L> Ord for (H, I, J, K, L) where
    H: Ord,
    I: Ord,
    J: Ord,
    K: Ord,
    L: Ord + ?Sized, 
 
impl<H, I, J, K, L> Ord for (H, I, J, K, L) where
    H: Ord,
    I: Ord,
    J: Ord,
    K: Ord,
    L: Ord + ?Sized, 
sourceimpl<I, J, K, L> Ord for (I, J, K, L) where
    I: Ord,
    J: Ord,
    K: Ord,
    L: Ord + ?Sized, 
 
impl<I, J, K, L> Ord for (I, J, K, L) where
    I: Ord,
    J: Ord,
    K: Ord,
    L: Ord + ?Sized, 
sourceimpl<E, F, G, H, I, J, K, L> Ord for (E, F, G, H, I, J, K, L) where
    E: Ord,
    F: Ord,
    G: Ord,
    H: Ord,
    I: Ord,
    J: Ord,
    K: Ord,
    L: Ord + ?Sized, 
 
impl<E, F, G, H, I, J, K, L> Ord for (E, F, G, H, I, J, K, L) where
    E: Ord,
    F: Ord,
    G: Ord,
    H: Ord,
    I: Ord,
    J: Ord,
    K: Ord,
    L: Ord + ?Sized, 
sourceimpl<J, K, L> Ord for (J, K, L) where
    J: Ord,
    K: Ord,
    L: Ord + ?Sized, 
 
impl<J, K, L> Ord for (J, K, L) where
    J: Ord,
    K: Ord,
    L: Ord + ?Sized, 
sourceimpl<K, L> Ord for (K, L) where
    K: Ord,
    L: Ord + ?Sized, 
 
impl<K, L> Ord for (K, L) where
    K: Ord,
    L: Ord + ?Sized, 
sourceimpl<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, 
 
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, 
sourceimpl<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, 
 
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, 
sourceimpl<B, C, D, E, F, G, H, I, J, K, L> PartialEq<(B, C, D, E, F, G, H, I, J, K, L)> for (B, C, D, E, F, G, H, I, J, K, L) where
    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, 
 
impl<B, C, D, E, F, G, H, I, J, K, L> PartialEq<(B, C, D, E, F, G, H, I, J, K, L)> for (B, C, D, E, F, G, H, I, J, K, L) where
    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, 
sourceimpl<C, D, E, F, G, H, I, J, K, L> PartialEq<(C, D, E, F, G, H, I, J, K, L)> for (C, D, E, F, G, H, I, J, K, L) where
    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, 
 
impl<C, D, E, F, G, H, I, J, K, L> PartialEq<(C, D, E, F, G, H, I, J, K, L)> for (C, D, E, F, G, H, I, J, K, L) where
    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, 
sourceimpl<D, E, F, G, H, I, J, K, L> PartialEq<(D, E, F, G, H, I, J, K, L)> for (D, E, F, G, H, I, J, K, L) where
    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, 
 
impl<D, E, F, G, H, I, J, K, L> PartialEq<(D, E, F, G, H, I, J, K, L)> for (D, E, F, G, H, I, J, K, L) where
    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, 
sourceimpl<E, F, G, H, I, J, K, L> PartialEq<(E, F, G, H, I, J, K, L)> for (E, F, G, H, I, J, K, L) where
    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, 
 
impl<E, F, G, H, I, J, K, L> PartialEq<(E, F, G, H, I, J, K, L)> for (E, F, G, H, I, J, K, L) where
    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, 
sourceimpl<F, G, H, I, J, K, L> PartialEq<(F, G, H, I, J, K, L)> for (F, G, H, I, J, K, L) where
    F: PartialEq<F>,
    G: PartialEq<G>,
    H: PartialEq<H>,
    I: PartialEq<I>,
    J: PartialEq<J>,
    K: PartialEq<K>,
    L: PartialEq<L> + ?Sized, 
 
impl<F, G, H, I, J, K, L> PartialEq<(F, G, H, I, J, K, L)> for (F, G, H, I, J, K, L) where
    F: PartialEq<F>,
    G: PartialEq<G>,
    H: PartialEq<H>,
    I: PartialEq<I>,
    J: PartialEq<J>,
    K: PartialEq<K>,
    L: PartialEq<L> + ?Sized, 
sourceimpl<G, H, I, J, K, L> PartialEq<(G, H, I, J, K, L)> for (G, H, I, J, K, L) where
    G: PartialEq<G>,
    H: PartialEq<H>,
    I: PartialEq<I>,
    J: PartialEq<J>,
    K: PartialEq<K>,
    L: PartialEq<L> + ?Sized, 
 
impl<G, H, I, J, K, L> PartialEq<(G, H, I, J, K, L)> for (G, H, I, J, K, L) where
    G: PartialEq<G>,
    H: PartialEq<H>,
    I: PartialEq<I>,
    J: PartialEq<J>,
    K: PartialEq<K>,
    L: PartialEq<L> + ?Sized, 
sourceimpl<H, I, J, K, L> PartialEq<(H, I, J, K, L)> for (H, I, J, K, L) where
    H: PartialEq<H>,
    I: PartialEq<I>,
    J: PartialEq<J>,
    K: PartialEq<K>,
    L: PartialEq<L> + ?Sized, 
 
impl<H, I, J, K, L> PartialEq<(H, I, J, K, L)> for (H, I, J, K, L) where
    H: PartialEq<H>,
    I: PartialEq<I>,
    J: PartialEq<J>,
    K: PartialEq<K>,
    L: PartialEq<L> + ?Sized, 
sourceimpl<I, J, K, L> PartialEq<(I, J, K, L)> for (I, J, K, L) where
    I: PartialEq<I>,
    J: PartialEq<J>,
    K: PartialEq<K>,
    L: PartialEq<L> + ?Sized, 
 
impl<I, J, K, L> PartialEq<(I, J, K, L)> for (I, J, K, L) where
    I: PartialEq<I>,
    J: PartialEq<J>,
    K: PartialEq<K>,
    L: PartialEq<L> + ?Sized, 
sourceimpl<J, K, L> PartialEq<(J, K, L)> for (J, K, L) where
    J: PartialEq<J>,
    K: PartialEq<K>,
    L: PartialEq<L> + ?Sized, 
 
impl<J, K, L> PartialEq<(J, K, L)> for (J, K, L) where
    J: PartialEq<J>,
    K: PartialEq<K>,
    L: PartialEq<L> + ?Sized, 
sourceimpl<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: PartialOrd<A> + PartialEq<A>,
    B: PartialOrd<B> + PartialEq<B>,
    C: PartialOrd<C> + PartialEq<C>,
    D: PartialOrd<D> + PartialEq<D>,
    E: PartialOrd<E> + PartialEq<E>,
    F: PartialOrd<F> + PartialEq<F>,
    G: PartialOrd<G> + PartialEq<G>,
    H: PartialOrd<H> + PartialEq<H>,
    I: PartialOrd<I> + PartialEq<I>,
    J: PartialOrd<J> + PartialEq<J>,
    K: PartialOrd<K> + PartialEq<K>,
    L: PartialOrd<L> + PartialEq<L> + ?Sized, 
 
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: PartialOrd<A> + PartialEq<A>,
    B: PartialOrd<B> + PartialEq<B>,
    C: PartialOrd<C> + PartialEq<C>,
    D: PartialOrd<D> + PartialEq<D>,
    E: PartialOrd<E> + PartialEq<E>,
    F: PartialOrd<F> + PartialEq<F>,
    G: PartialOrd<G> + PartialEq<G>,
    H: PartialOrd<H> + PartialEq<H>,
    I: PartialOrd<I> + PartialEq<I>,
    J: PartialOrd<J> + PartialEq<J>,
    K: PartialOrd<K> + PartialEq<K>,
    L: PartialOrd<L> + PartialEq<L> + ?Sized, 
sourcefn partial_cmp(
    &self, 
    other: &(A, B, C, D, E, F, G, H, I, J, K, L)
) -> Option<Ordering>
 
fn partial_cmp(
    &self, 
    other: &(A, B, C, D, E, F, G, H, I, J, K, L)
) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
sourcefn lt(&self, other: &(A, B, C, D, E, F, G, H, I, J, K, L)) -> bool
 
fn lt(&self, other: &(A, B, C, D, E, F, G, H, I, J, K, L)) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
sourcefn le(&self, other: &(A, B, C, D, E, F, G, H, I, J, K, L)) -> bool
 
fn le(&self, other: &(A, B, C, D, E, F, G, H, I, J, K, L)) -> bool
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
sourceimpl<B, C, D, E, F, G, H, I, J, K, L> PartialOrd<(B, C, D, E, F, G, H, I, J, K, L)> for (B, C, D, E, F, G, H, I, J, K, L) where
    B: PartialOrd<B> + PartialEq<B>,
    C: PartialOrd<C> + PartialEq<C>,
    D: PartialOrd<D> + PartialEq<D>,
    E: PartialOrd<E> + PartialEq<E>,
    F: PartialOrd<F> + PartialEq<F>,
    G: PartialOrd<G> + PartialEq<G>,
    H: PartialOrd<H> + PartialEq<H>,
    I: PartialOrd<I> + PartialEq<I>,
    J: PartialOrd<J> + PartialEq<J>,
    K: PartialOrd<K> + PartialEq<K>,
    L: PartialOrd<L> + PartialEq<L> + ?Sized, 
 
impl<B, C, D, E, F, G, H, I, J, K, L> PartialOrd<(B, C, D, E, F, G, H, I, J, K, L)> for (B, C, D, E, F, G, H, I, J, K, L) where
    B: PartialOrd<B> + PartialEq<B>,
    C: PartialOrd<C> + PartialEq<C>,
    D: PartialOrd<D> + PartialEq<D>,
    E: PartialOrd<E> + PartialEq<E>,
    F: PartialOrd<F> + PartialEq<F>,
    G: PartialOrd<G> + PartialEq<G>,
    H: PartialOrd<H> + PartialEq<H>,
    I: PartialOrd<I> + PartialEq<I>,
    J: PartialOrd<J> + PartialEq<J>,
    K: PartialOrd<K> + PartialEq<K>,
    L: PartialOrd<L> + PartialEq<L> + ?Sized, 
sourcefn partial_cmp(
    &self, 
    other: &(B, C, D, E, F, G, H, I, J, K, L)
) -> Option<Ordering>
 
fn partial_cmp(
    &self, 
    other: &(B, C, D, E, F, G, H, I, J, K, L)
) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
sourcefn lt(&self, other: &(B, C, D, E, F, G, H, I, J, K, L)) -> bool
 
fn lt(&self, other: &(B, C, D, E, F, G, H, I, J, K, L)) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
sourcefn le(&self, other: &(B, C, D, E, F, G, H, I, J, K, L)) -> bool
 
fn le(&self, other: &(B, C, D, E, F, G, H, I, J, K, L)) -> bool
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
sourceimpl<C, D, E, F, G, H, I, J, K, L> PartialOrd<(C, D, E, F, G, H, I, J, K, L)> for (C, D, E, F, G, H, I, J, K, L) where
    C: PartialOrd<C> + PartialEq<C>,
    D: PartialOrd<D> + PartialEq<D>,
    E: PartialOrd<E> + PartialEq<E>,
    F: PartialOrd<F> + PartialEq<F>,
    G: PartialOrd<G> + PartialEq<G>,
    H: PartialOrd<H> + PartialEq<H>,
    I: PartialOrd<I> + PartialEq<I>,
    J: PartialOrd<J> + PartialEq<J>,
    K: PartialOrd<K> + PartialEq<K>,
    L: PartialOrd<L> + PartialEq<L> + ?Sized, 
 
impl<C, D, E, F, G, H, I, J, K, L> PartialOrd<(C, D, E, F, G, H, I, J, K, L)> for (C, D, E, F, G, H, I, J, K, L) where
    C: PartialOrd<C> + PartialEq<C>,
    D: PartialOrd<D> + PartialEq<D>,
    E: PartialOrd<E> + PartialEq<E>,
    F: PartialOrd<F> + PartialEq<F>,
    G: PartialOrd<G> + PartialEq<G>,
    H: PartialOrd<H> + PartialEq<H>,
    I: PartialOrd<I> + PartialEq<I>,
    J: PartialOrd<J> + PartialEq<J>,
    K: PartialOrd<K> + PartialEq<K>,
    L: PartialOrd<L> + PartialEq<L> + ?Sized, 
sourcefn partial_cmp(
    &self, 
    other: &(C, D, E, F, G, H, I, J, K, L)
) -> Option<Ordering>
 
fn partial_cmp(
    &self, 
    other: &(C, D, E, F, G, H, I, J, K, L)
) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
sourcefn lt(&self, other: &(C, D, E, F, G, H, I, J, K, L)) -> bool
 
fn lt(&self, other: &(C, D, E, F, G, H, I, J, K, L)) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
sourcefn le(&self, other: &(C, D, E, F, G, H, I, J, K, L)) -> bool
 
fn le(&self, other: &(C, D, E, F, G, H, I, J, K, L)) -> bool
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
sourceimpl<D, E, F, G, H, I, J, K, L> PartialOrd<(D, E, F, G, H, I, J, K, L)> for (D, E, F, G, H, I, J, K, L) where
    D: PartialOrd<D> + PartialEq<D>,
    E: PartialOrd<E> + PartialEq<E>,
    F: PartialOrd<F> + PartialEq<F>,
    G: PartialOrd<G> + PartialEq<G>,
    H: PartialOrd<H> + PartialEq<H>,
    I: PartialOrd<I> + PartialEq<I>,
    J: PartialOrd<J> + PartialEq<J>,
    K: PartialOrd<K> + PartialEq<K>,
    L: PartialOrd<L> + PartialEq<L> + ?Sized, 
 
impl<D, E, F, G, H, I, J, K, L> PartialOrd<(D, E, F, G, H, I, J, K, L)> for (D, E, F, G, H, I, J, K, L) where
    D: PartialOrd<D> + PartialEq<D>,
    E: PartialOrd<E> + PartialEq<E>,
    F: PartialOrd<F> + PartialEq<F>,
    G: PartialOrd<G> + PartialEq<G>,
    H: PartialOrd<H> + PartialEq<H>,
    I: PartialOrd<I> + PartialEq<I>,
    J: PartialOrd<J> + PartialEq<J>,
    K: PartialOrd<K> + PartialEq<K>,
    L: PartialOrd<L> + PartialEq<L> + ?Sized, 
sourcefn partial_cmp(&self, other: &(D, E, F, G, H, I, J, K, L)) -> Option<Ordering>
 
fn partial_cmp(&self, other: &(D, E, F, G, H, I, J, K, L)) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
sourcefn lt(&self, other: &(D, E, F, G, H, I, J, K, L)) -> bool
 
fn lt(&self, other: &(D, E, F, G, H, I, J, K, L)) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
sourcefn le(&self, other: &(D, E, F, G, H, I, J, K, L)) -> bool
 
fn le(&self, other: &(D, E, F, G, H, I, J, K, L)) -> bool
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
sourceimpl<E, F, G, H, I, J, K, L> PartialOrd<(E, F, G, H, I, J, K, L)> for (E, F, G, H, I, J, K, L) where
    E: PartialOrd<E> + PartialEq<E>,
    F: PartialOrd<F> + PartialEq<F>,
    G: PartialOrd<G> + PartialEq<G>,
    H: PartialOrd<H> + PartialEq<H>,
    I: PartialOrd<I> + PartialEq<I>,
    J: PartialOrd<J> + PartialEq<J>,
    K: PartialOrd<K> + PartialEq<K>,
    L: PartialOrd<L> + PartialEq<L> + ?Sized, 
 
impl<E, F, G, H, I, J, K, L> PartialOrd<(E, F, G, H, I, J, K, L)> for (E, F, G, H, I, J, K, L) where
    E: PartialOrd<E> + PartialEq<E>,
    F: PartialOrd<F> + PartialEq<F>,
    G: PartialOrd<G> + PartialEq<G>,
    H: PartialOrd<H> + PartialEq<H>,
    I: PartialOrd<I> + PartialEq<I>,
    J: PartialOrd<J> + PartialEq<J>,
    K: PartialOrd<K> + PartialEq<K>,
    L: PartialOrd<L> + PartialEq<L> + ?Sized, 
sourcefn partial_cmp(&self, other: &(E, F, G, H, I, J, K, L)) -> Option<Ordering>
 
fn partial_cmp(&self, other: &(E, F, G, H, I, J, K, L)) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
sourcefn lt(&self, other: &(E, F, G, H, I, J, K, L)) -> bool
 
fn lt(&self, other: &(E, F, G, H, I, J, K, L)) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
sourcefn le(&self, other: &(E, F, G, H, I, J, K, L)) -> bool
 
fn le(&self, other: &(E, F, G, H, I, J, K, L)) -> bool
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
sourceimpl<F, G, H, I, J, K, L> PartialOrd<(F, G, H, I, J, K, L)> for (F, G, H, I, J, K, L) where
    F: PartialOrd<F> + PartialEq<F>,
    G: PartialOrd<G> + PartialEq<G>,
    H: PartialOrd<H> + PartialEq<H>,
    I: PartialOrd<I> + PartialEq<I>,
    J: PartialOrd<J> + PartialEq<J>,
    K: PartialOrd<K> + PartialEq<K>,
    L: PartialOrd<L> + PartialEq<L> + ?Sized, 
 
impl<F, G, H, I, J, K, L> PartialOrd<(F, G, H, I, J, K, L)> for (F, G, H, I, J, K, L) where
    F: PartialOrd<F> + PartialEq<F>,
    G: PartialOrd<G> + PartialEq<G>,
    H: PartialOrd<H> + PartialEq<H>,
    I: PartialOrd<I> + PartialEq<I>,
    J: PartialOrd<J> + PartialEq<J>,
    K: PartialOrd<K> + PartialEq<K>,
    L: PartialOrd<L> + PartialEq<L> + ?Sized, 
sourcefn partial_cmp(&self, other: &(F, G, H, I, J, K, L)) -> Option<Ordering>
 
fn partial_cmp(&self, other: &(F, G, H, I, J, K, L)) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
sourcefn lt(&self, other: &(F, G, H, I, J, K, L)) -> bool
 
fn lt(&self, other: &(F, G, H, I, J, K, L)) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
sourcefn le(&self, other: &(F, G, H, I, J, K, L)) -> bool
 
fn le(&self, other: &(F, G, H, I, J, K, L)) -> bool
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
sourceimpl<G, H, I, J, K, L> PartialOrd<(G, H, I, J, K, L)> for (G, H, I, J, K, L) where
    G: PartialOrd<G> + PartialEq<G>,
    H: PartialOrd<H> + PartialEq<H>,
    I: PartialOrd<I> + PartialEq<I>,
    J: PartialOrd<J> + PartialEq<J>,
    K: PartialOrd<K> + PartialEq<K>,
    L: PartialOrd<L> + PartialEq<L> + ?Sized, 
 
impl<G, H, I, J, K, L> PartialOrd<(G, H, I, J, K, L)> for (G, H, I, J, K, L) where
    G: PartialOrd<G> + PartialEq<G>,
    H: PartialOrd<H> + PartialEq<H>,
    I: PartialOrd<I> + PartialEq<I>,
    J: PartialOrd<J> + PartialEq<J>,
    K: PartialOrd<K> + PartialEq<K>,
    L: PartialOrd<L> + PartialEq<L> + ?Sized, 
sourcefn partial_cmp(&self, other: &(G, H, I, J, K, L)) -> Option<Ordering>
 
fn partial_cmp(&self, other: &(G, H, I, J, K, L)) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
sourcefn lt(&self, other: &(G, H, I, J, K, L)) -> bool
 
fn lt(&self, other: &(G, H, I, J, K, L)) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
sourcefn le(&self, other: &(G, H, I, J, K, L)) -> bool
 
fn le(&self, other: &(G, H, I, J, K, L)) -> bool
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
sourceimpl<H, I, J, K, L> PartialOrd<(H, I, J, K, L)> for (H, I, J, K, L) where
    H: PartialOrd<H> + PartialEq<H>,
    I: PartialOrd<I> + PartialEq<I>,
    J: PartialOrd<J> + PartialEq<J>,
    K: PartialOrd<K> + PartialEq<K>,
    L: PartialOrd<L> + PartialEq<L> + ?Sized, 
 
impl<H, I, J, K, L> PartialOrd<(H, I, J, K, L)> for (H, I, J, K, L) where
    H: PartialOrd<H> + PartialEq<H>,
    I: PartialOrd<I> + PartialEq<I>,
    J: PartialOrd<J> + PartialEq<J>,
    K: PartialOrd<K> + PartialEq<K>,
    L: PartialOrd<L> + PartialEq<L> + ?Sized, 
sourcefn partial_cmp(&self, other: &(H, I, J, K, L)) -> Option<Ordering>
 
fn partial_cmp(&self, other: &(H, I, J, K, L)) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
sourcefn lt(&self, other: &(H, I, J, K, L)) -> bool
 
fn lt(&self, other: &(H, I, J, K, L)) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
sourcefn le(&self, other: &(H, I, J, K, L)) -> bool
 
fn le(&self, other: &(H, I, J, K, L)) -> bool
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
sourceimpl<I, J, K, L> PartialOrd<(I, J, K, L)> for (I, J, K, L) where
    I: PartialOrd<I> + PartialEq<I>,
    J: PartialOrd<J> + PartialEq<J>,
    K: PartialOrd<K> + PartialEq<K>,
    L: PartialOrd<L> + PartialEq<L> + ?Sized, 
 
impl<I, J, K, L> PartialOrd<(I, J, K, L)> for (I, J, K, L) where
    I: PartialOrd<I> + PartialEq<I>,
    J: PartialOrd<J> + PartialEq<J>,
    K: PartialOrd<K> + PartialEq<K>,
    L: PartialOrd<L> + PartialEq<L> + ?Sized, 
sourcefn partial_cmp(&self, other: &(I, J, K, L)) -> Option<Ordering>
 
fn partial_cmp(&self, other: &(I, J, K, L)) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
sourcefn lt(&self, other: &(I, J, K, L)) -> bool
 
fn lt(&self, other: &(I, J, K, L)) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
sourcefn le(&self, other: &(I, J, K, L)) -> bool
 
fn le(&self, other: &(I, J, K, L)) -> bool
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
sourceimpl<J, K, L> PartialOrd<(J, K, L)> for (J, K, L) where
    J: PartialOrd<J> + PartialEq<J>,
    K: PartialOrd<K> + PartialEq<K>,
    L: PartialOrd<L> + PartialEq<L> + ?Sized, 
 
impl<J, K, L> PartialOrd<(J, K, L)> for (J, K, L) where
    J: PartialOrd<J> + PartialEq<J>,
    K: PartialOrd<K> + PartialEq<K>,
    L: PartialOrd<L> + PartialEq<L> + ?Sized, 
sourcefn partial_cmp(&self, other: &(J, K, L)) -> Option<Ordering>
 
fn partial_cmp(&self, other: &(J, K, L)) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
sourcefn lt(&self, other: &(J, K, L)) -> bool
 
fn lt(&self, other: &(J, K, L)) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
sourcefn le(&self, other: &(J, K, L)) -> bool
 
fn le(&self, other: &(J, K, L)) -> bool
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
sourceimpl<K, L> PartialOrd<(K, L)> for (K, L) where
    K: PartialOrd<K> + PartialEq<K>,
    L: PartialOrd<L> + PartialEq<L> + ?Sized, 
 
impl<K, L> PartialOrd<(K, L)> for (K, L) where
    K: PartialOrd<K> + PartialEq<K>,
    L: PartialOrd<L> + PartialEq<L> + ?Sized, 
sourcefn partial_cmp(&self, other: &(K, L)) -> Option<Ordering>
 
fn partial_cmp(&self, other: &(K, L)) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
sourcefn lt(&self, other: &(K, L)) -> bool
 
fn lt(&self, other: &(K, L)) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
sourcefn le(&self, other: &(K, L)) -> bool
 
fn le(&self, other: &(K, L)) -> bool
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
sourceimpl<L> PartialOrd<(L,)> for (L,) where
    L: PartialOrd<L> + PartialEq<L> + ?Sized, 
 
impl<L> PartialOrd<(L,)> for (L,) where
    L: PartialOrd<L> + PartialEq<L> + ?Sized, 
sourcefn partial_cmp(&self, other: &(L,)) -> Option<Ordering>
 
fn partial_cmp(&self, other: &(L,)) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
sourcefn lt(&self, other: &(L,)) -> bool
 
fn lt(&self, other: &(L,)) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
sourcefn le(&self, other: &(L,)) -> bool
 
fn le(&self, other: &(L,)) -> bool
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
1.53.0 · sourceimpl<T> SliceIndex<[T]> for (Bound<usize>, Bound<usize>)
 
impl<T> SliceIndex<[T]> for (Bound<usize>, Bound<usize>)
sourcefn get(
    self, 
    slice: &[T]
) -> Option<&<(Bound<usize>, Bound<usize>) as SliceIndex<[T]>>::Output>
 
fn get(
    self, 
    slice: &[T]
) -> Option<&<(Bound<usize>, Bound<usize>) as SliceIndex<[T]>>::Output>
slice_index_methods)Returns a shared reference to the output at this location, if in bounds. Read more
sourcefn get_mut(
    self, 
    slice: &mut [T]
) -> Option<&mut <(Bound<usize>, Bound<usize>) as SliceIndex<[T]>>::Output>
 
fn get_mut(
    self, 
    slice: &mut [T]
) -> Option<&mut <(Bound<usize>, Bound<usize>) as SliceIndex<[T]>>::Output>
slice_index_methods)Returns a mutable reference to the output at this location, if in bounds. Read more
sourceunsafe fn get_unchecked(
    self, 
    slice: *const [T]
) -> *const <(Bound<usize>, Bound<usize>) as SliceIndex<[T]>>::Output
 
unsafe fn get_unchecked(
    self, 
    slice: *const [T]
) -> *const <(Bound<usize>, Bound<usize>) as SliceIndex<[T]>>::Output
slice_index_methods)Returns a shared reference to the output at this location, without
performing any bounds checking.
Calling this method with an out-of-bounds index or a dangling slice pointer
is undefined behavior even if the resulting reference is not used. Read more
sourceunsafe fn get_unchecked_mut(
    self, 
    slice: *mut [T]
) -> *mut <(Bound<usize>, Bound<usize>) as SliceIndex<[T]>>::Output
 
unsafe fn get_unchecked_mut(
    self, 
    slice: *mut [T]
) -> *mut <(Bound<usize>, Bound<usize>) as SliceIndex<[T]>>::Output
slice_index_methods)Returns a mutable reference to the output at this location, without
performing any bounds checking.
Calling this method with an out-of-bounds index or a dangling slice pointer
is undefined behavior even if the resulting reference is not used. Read more
sourceimpl ToSocketAddrs for (IpAddr, u16)
 
impl ToSocketAddrs for (IpAddr, u16)
type Iter = IntoIter<SocketAddr>
type Iter = IntoIter<SocketAddr>
Returned iterator over socket addresses which this type may correspond to. Read more
sourcefn to_socket_addrs(&self) -> Result<IntoIter<SocketAddr>>
 
fn to_socket_addrs(&self) -> Result<IntoIter<SocketAddr>>
Converts this object to an iterator of resolved SocketAddrs. Read more
sourceimpl ToSocketAddrs for (Ipv4Addr, u16)
 
impl ToSocketAddrs for (Ipv4Addr, u16)
type Iter = IntoIter<SocketAddr>
type Iter = IntoIter<SocketAddr>
Returned iterator over socket addresses which this type may correspond to. Read more
sourcefn to_socket_addrs(&self) -> Result<IntoIter<SocketAddr>>
 
fn to_socket_addrs(&self) -> Result<IntoIter<SocketAddr>>
Converts this object to an iterator of resolved SocketAddrs. Read more
sourceimpl ToSocketAddrs for (Ipv6Addr, u16)
 
impl ToSocketAddrs for (Ipv6Addr, u16)
type Iter = IntoIter<SocketAddr>
type Iter = IntoIter<SocketAddr>
Returned iterator over socket addresses which this type may correspond to. Read more
sourcefn to_socket_addrs(&self) -> Result<IntoIter<SocketAddr>>
 
fn to_socket_addrs(&self) -> Result<IntoIter<SocketAddr>>
Converts this object to an iterator of resolved SocketAddrs. Read more
sourceimpl ToSocketAddrs for (&str, u16)
 
impl ToSocketAddrs for (&str, u16)
type Iter = IntoIter<SocketAddr, Global>
type Iter = IntoIter<SocketAddr, Global>
Returned iterator over socket addresses which this type may correspond to. Read more
sourcefn to_socket_addrs(&self) -> Result<IntoIter<SocketAddr>>
 
fn to_socket_addrs(&self) -> Result<IntoIter<SocketAddr>>
Converts this object to an iterator of resolved SocketAddrs. Read more
1.46.0 · sourceimpl ToSocketAddrs for (String, u16)
 
impl ToSocketAddrs for (String, u16)
type Iter = IntoIter<SocketAddr, Global>
type Iter = IntoIter<SocketAddr, Global>
Returned iterator over socket addresses which this type may correspond to. Read more
sourcefn to_socket_addrs(&self) -> Result<IntoIter<SocketAddr>>
 
fn to_socket_addrs(&self) -> Result<IntoIter<SocketAddr>>
Converts this object to an iterator of resolved SocketAddrs. Read more