std::cmp::PartialOrd - Rust
Description: API documentation for the Rust `PartialOrd` trait in crate `std`.
Keywords: rust, rustlang, rust-lang, PartialOrd

# Trait std::cmp::PartialOrd 1.0.0[−][src]

    #[lang = "partial_ord"]
    pub trait PartialOrd<Rhs = Self>: PartialEq<Rhs> where
        Rhs: ?Sized, {
        #[must_use]
    fn partial_cmp(&self, other: &Rhs) -> Option<Ordering>;

        #[must_use]
    fn lt(&self, other: &Rhs) -> bool { ... }
        #[must_use]
    fn le(&self, other: &Rhs) -> bool { ... }
        #[must_use]
    fn gt(&self, other: &Rhs) -> bool { ... }
        #[must_use]
    fn ge(&self, other: &Rhs) -> bool { ... }
    }

Trait for values that can be compared for a sort-order.

The comparison must satisfy, for all `a`, `b` and `c`:

- antisymmetry: if `a < b` then `!(a > b)`, as well as `a > b` implying `!(a < b)`; and
- transitivity: `a < b` and `b < c` implies `a < c`. The same must hold for both `==` and `>`.

Note that these requirements mean that the trait itself must be implemented symmetrically and transitively: if `T: PartialOrd<U>` and `U: PartialOrd<V>` then `U: PartialOrd<T>` and `T: PartialOrd<V>`.

## Derivable

This trait can be used with `#[derive]`. When `derive`d on structs, it will produce a lexicographic ordering based on the top-to-bottom declaration order of the struct's members. When `derive`d on enums, variants are ordered by their top-to-bottom declaration order.

## How can I implement `PartialOrd`?

`PartialOrd` only requires implementation of the `partial_cmp` method, with the others generated from default implementations.

However it remains possible to implement the others separately for types which do not have a total order. For example, for floating point numbers, `NaN < 0 == false` and `NaN >= 0 == false` (cf. IEEE 754-2008 section 5.11).

`PartialOrd` requires your type to be `PartialEq`.

Implementations of `PartialEq`, `PartialOrd`, and `Ord` must agree with each other. It's easy to accidentally make them disagree by deriving some of the traits and manually implementing others.

If your type is `Ord`, you can implement `partial_cmp()` by using `cmp()`:

    use std::cmp::Ordering;

    #[derive(Eq)]
    struct Person {
        id: u32,
        name: String,
        height: u32,
    }

    impl PartialOrd for Person {
        fn partial_cmp(&self, other: &Person) -> Option<Ordering> {
            Some(self.cmp(other))
        }
    }

    impl Ord for Person {
        fn cmp(&self, other: &Person) -> Ordering {
            self.height.cmp(&other.height)
        }
    }

    impl PartialEq for Person {
        fn eq(&self, other: &Person) -> bool {
            self.height == other.height
        }
    }Run

You may also find it useful to use `partial_cmp()` on your type's fields. Here is an example of `Person` types who have a floating-point `height` field that is the only field to be used for sorting:

    use std::cmp::Ordering;

    struct Person {
        id: u32,
        name: String,
        height: f64,
    }

    impl PartialOrd for Person {
        fn partial_cmp(&self, other: &Person) -> Option<Ordering> {
            self.height.partial_cmp(&other.height)
        }
    }

    impl PartialEq for Person {
        fn eq(&self, other: &Person) -> bool {
            self.height == other.height
        }
    }Run

# Examples

    let x : u32 = 0;
    let y : u32 = 1;

    assert_eq!(x < y, true);
    assert_eq!(x.lt(&y), true);Run

## Required Methods

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

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

# Examples

    use std::cmp::Ordering;

    let result = 1.0.partial_cmp(&2.0);
    assert_eq!(result, Some(Ordering::Less));

    let result = 1.0.partial_cmp(&1.0);
    assert_eq!(result, Some(Ordering::Equal));

    let result = 2.0.partial_cmp(&1.0);
    assert_eq!(result, Some(Ordering::Greater));Run

When comparison is impossible:

    let result = std::f64::NAN.partial_cmp(&1.0);
    assert_eq!(result, None);Run

## Provided Methods

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

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

# Examples

    let result = 1.0 < 2.0;
    assert_eq!(result, true);

    let result = 2.0 < 1.0;
    assert_eq!(result, false);Run

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

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

# Examples

    let result = 1.0 <= 2.0;
    assert_eq!(result, true);

    let result = 2.0 <= 2.0;
    assert_eq!(result, true);Run

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

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

# Examples

    let result = 1.0 > 2.0;
    assert_eq!(result, false);

    let result = 2.0 > 2.0;
    assert_eq!(result, false);Run

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

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

# Examples

    let result = 2.0 >= 1.0;
    assert_eq!(result, true);

    let result = 2.0 >= 2.0;
    assert_eq!(result, true);Run

## Implementors

- `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]

- `impl PartialOrd<str> for str` | [src]

- `impl<Ret, A, B> PartialOrd<extern "C" fn(A, B, ...) -> Ret> for extern "C" fn(A, B, ...) -> Ret` | [src]

- `impl<T> PartialOrd<*mut T> for *mut T where T: ?Sized,` | [src]

- `impl<T> PartialOrd<[T; 27]> for [T; 27] where T: PartialOrd<T>,` | [src]

- `impl PartialOrd<u64> for u64` | [src]

- `impl<Ret, A, B> PartialOrd<unsafe extern "C" fn(A, B, ...) -> Ret> for unsafe extern "C" fn(A, B, ...) -> Ret` | [src]

- `impl<T> PartialOrd<NonNull<T>> for NonNull<T> where T: ?Sized,` | [src]

- `impl<T> PartialOrd<[T; 21]> for [T; 21] where T: PartialOrd<T>,` | [src]

- `impl<T> PartialOrd<[T; 15]> for [T; 15] where T: PartialOrd<T>,` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> PartialOrd<extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret> for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret` | [src]

- `impl PartialOrd<isize> for isize` | [src]

- `impl<T> PartialOrd<[T; 17]> for [T; 17] where T: PartialOrd<T>,` | [src]

- `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]

- `impl PartialOrd<UnicodeVersion> for UnicodeVersion` | [src]

- `impl<T> PartialOrd<ManuallyDrop<T>> for ManuallyDrop<T> where T: PartialOrd<T>,` | [src]

- `impl PartialOrd<NonZeroU32> for NonZeroU32` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H, I> PartialOrd<unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, ...) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, ...) -> Ret` | [src]

- `impl PartialOrd<usize> for usize` | [src]

- `impl<T> PartialOrd<[T; 32]> for [T; 32] where T: PartialOrd<T>,` | [src]

- `impl<T> PartialOrd<[T; 20]> for [T; 20] where T: PartialOrd<T>,` | [src]

- `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]

- `impl<Ret, A, B, C, D> PartialOrd<fn(A, B, C, D) -> Ret> for fn(A, B, C, D) -> Ret` | [src]

- `impl<T> PartialOrd<[T; 4]> for [T; 4] where T: PartialOrd<T>,` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> PartialOrd<unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret` | [src]

- `impl<T> PartialOrd<[T; 29]> for [T; 29] where T: PartialOrd<T>,` | [src]

- `impl<Ret, A> PartialOrd<unsafe extern "C" fn(A, ...) -> Ret> for unsafe extern "C" fn(A, ...) -> Ret` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H, I, J> PartialOrd<extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Ret> for extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Ret` | [src]

- `impl<Ret, A, B, C, D, E, F, G> PartialOrd<unsafe fn(A, B, C, D, E, F, G) -> Ret> for unsafe fn(A, B, C, D, E, F, G) -> Ret` | [src]

- `impl<T> PartialOrd<[T; 23]> for [T; 23] where T: PartialOrd<T>,` | [src]

- `impl PartialOrd<NonZeroU64> for NonZeroU64` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H, I, J> PartialOrd<fn(A, B, C, D, E, F, G, H, I, J) -> Ret> for fn(A, B, C, D, E, F, G, H, I, J) -> Ret` | [src]

- `impl<Ret, A, B> PartialOrd<extern "C" fn(A, B) -> Ret> for extern "C" fn(A, B) -> Ret` | [src]

- `impl PartialOrd<i32> for i32` | [src]

- `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]

- `impl<Ret, A, B, C, D> PartialOrd<extern "C" fn(A, B, C, D) -> Ret> for extern "C" fn(A, B, C, D) -> Ret` | [src]

- `impl<Ret, A, B, C> PartialOrd<extern "C" fn(A, B, C) -> Ret> for extern "C" fn(A, B, C) -> Ret` | [src]

- `impl<Ret, A, B> PartialOrd<fn(A, B) -> Ret> for fn(A, B) -> Ret` | [src]

- `impl<Ret, A, B, C, D, E, F> PartialOrd<unsafe extern "C" fn(A, B, C, D, E, F) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F) -> Ret` | [src]

- `impl<T> PartialOrd<[T; 24]> for [T; 24] where T: PartialOrd<T>,` | [src]

- `impl PartialOrd<i64> for i64` | [src]

- `impl PartialOrd<NonZeroUsize> for NonZeroUsize` | [src]

- `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]

- `impl<Ret, A, B> PartialOrd<unsafe extern "C" fn(A, B) -> Ret> for unsafe extern "C" fn(A, B) -> Ret` | [src]

- `impl<Y, R> PartialOrd<GeneratorState<Y, R>> for GeneratorState<Y, R> where R: PartialOrd<R>, Y: PartialOrd<Y>,` | [src]

- `impl PartialOrd<()> for ()` | [src]

- `impl PartialOrd<char> for char` | [src]

- `impl<T> PartialOrd<[T; 1]> for [T; 1] where T: PartialOrd<T>,` | [src]

- `impl<Ret, A, B, C, D, E, F> PartialOrd<extern "C" fn(A, B, C, D, E, F, ...) -> Ret> for extern "C" fn(A, B, C, D, E, F, ...) -> Ret` | [src]

- `impl<Ret, A, B, C, D, E> PartialOrd<unsafe extern "C" fn(A, B, C, D, E, ...) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, ...) -> Ret` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H, I, J, K> PartialOrd<extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret> for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H, I, J> PartialOrd<unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Ret` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H, I> PartialOrd<fn(A, B, C, D, E, F, G, H, I) -> Ret> for fn(A, B, C, D, E, F, G, H, I) -> Ret` | [src]

- `impl<T> PartialOrd<[T; 3]> for [T; 3] where T: PartialOrd<T>,` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> PartialOrd<extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L, ...) -> Ret> for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L, ...) -> Ret` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> PartialOrd<unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L, ...) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L, ...) -> Ret` | [src]

- `impl<Ret> PartialOrd<unsafe fn() -> Ret> for unsafe fn() -> Ret` | [src]

- `impl<Ret, A, B, C, D, E, F> PartialOrd<extern "C" fn(A, B, C, D, E, F) -> Ret> for extern "C" fn(A, B, C, D, E, F) -> Ret` | [src]

- `impl<Ret, A, B, C, D, E> PartialOrd<extern "C" fn(A, B, C, D, E) -> Ret> for extern "C" fn(A, B, C, D, E) -> Ret` | [src]

- `impl<Ret, A, B, C, D> PartialOrd<extern "C" fn(A, B, C, D, ...) -> Ret> for extern "C" fn(A, B, C, D, ...) -> Ret` | [src]

- `impl<T> PartialOrd<[T; 31]> for [T; 31] where T: PartialOrd<T>,` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H> PartialOrd<extern "C" fn(A, B, C, D, E, F, G, H) -> Ret> for extern "C" fn(A, B, C, D, E, F, G, H) -> Ret` | [src]

- `impl<Ret> PartialOrd<unsafe extern "C" fn() -> Ret> for unsafe extern "C" fn() -> Ret` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H, I> PartialOrd<unsafe extern "C" fn(A, B, C, D, E, F, G, H, I) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I) -> Ret` | [src]

- `impl<Ret, A, B, C> PartialOrd<unsafe fn(A, B, C) -> Ret> for unsafe fn(A, B, C) -> Ret` | [src]

- `impl<Ret, A, B, C, D, E> PartialOrd<extern "C" fn(A, B, C, D, E, ...) -> Ret> for extern "C" fn(A, B, C, D, E, ...) -> Ret` | [src]

- `impl<T> PartialOrd<Poll<T>> for Poll<T> where T: PartialOrd<T>,` | [src]

- `impl<Ret, A, B, C, D, E, F, G> PartialOrd<extern "C" fn(A, B, C, D, E, F, G) -> Ret> for extern "C" fn(A, B, C, D, E, F, G) -> Ret` | [src]

- `impl<Ret, A, B, C> PartialOrd<unsafe extern "C" fn(A, B, C, ...) -> Ret> for unsafe extern "C" fn(A, B, C, ...) -> Ret` | [src]

- `impl<Ret, A> PartialOrd<fn(A) -> Ret> for fn(A) -> Ret` | [src]

- `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]

- `impl<Ret, A, B, C, D, E, F, G, H> PartialOrd<fn(A, B, C, D, E, F, G, H) -> Ret> for fn(A, B, C, D, E, F, G, H) -> Ret` | [src]

- `impl<Ret, A, B, C, D> PartialOrd<unsafe fn(A, B, C, D) -> Ret> for unsafe fn(A, B, C, D) -> Ret` | [src]

- `impl<T> PartialOrd<[T; 19]> for [T; 19] where T: PartialOrd<T>,` | [src]

- `impl PartialOrd<u32> for u32` | [src]

- `impl<T> PartialOrd<[T; 16]> for [T; 16] where T: PartialOrd<T>,` | [src]

- `impl<Ret, A, B, C, D, E> PartialOrd<fn(A, B, C, D, E) -> Ret> for fn(A, B, C, D, E) -> Ret` | [src]

- `impl<T> PartialOrd<[T; 10]> for [T; 10] where T: PartialOrd<T>,` | [src]

- `impl<T> PartialOrd<[T; 26]> for [T; 26] where T: PartialOrd<T>,` | [src]

- `impl PartialOrd<NoneError> for NoneError` | [src]

- `impl PartialOrd<u8> for u8` | [src]

- `impl<T> PartialOrd<[T; 11]> for [T; 11] where T: PartialOrd<T>,` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H> PartialOrd<unsafe extern "C" fn(A, B, C, D, E, F, G, H) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F, G, H) -> Ret` | [src]

- `impl<Ret, A, B, C, D> PartialOrd<unsafe extern "C" fn(A, B, C, D, ...) -> Ret> for unsafe extern "C" fn(A, B, C, D, ...) -> Ret` | [src]

- `impl<T> PartialOrd<[T; 2]> for [T; 2] where T: PartialOrd<T>,` | [src]

- `impl<T> PartialOrd<[T; 18]> for [T; 18] where T: PartialOrd<T>,` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H, I, J> PartialOrd<unsafe fn(A, B, C, D, E, F, G, H, I, J) -> Ret> for unsafe fn(A, B, C, D, E, F, G, H, I, J) -> Ret` | [src]

- `impl<Ret, A> PartialOrd<unsafe extern "C" fn(A) -> Ret> for unsafe extern "C" fn(A) -> Ret` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H, I> PartialOrd<unsafe fn(A, B, C, D, E, F, G, H, I) -> Ret> for unsafe fn(A, B, C, D, E, F, G, H, I) -> Ret` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> PartialOrd<fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret> for fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret` | [src]

- `impl<T> PartialOrd<Wrapping<T>> for Wrapping<T> where T: PartialOrd<T>,` | [src]

- `impl<Ret, A, B, C, D, E, F> PartialOrd<unsafe fn(A, B, C, D, E, F) -> Ret> for unsafe fn(A, B, C, D, E, F) -> Ret` | [src]

- `impl<T> PartialOrd<[T; 5]> for [T; 5] where T: PartialOrd<T>,` | [src]

- `impl<Ret, A, B, C, D, E, F, G> PartialOrd<unsafe extern "C" fn(A, B, C, D, E, F, G) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F, G) -> Ret` | [src]

- `impl<T> PartialOrd<[T; 12]> for [T; 12] where T: PartialOrd<T>,` | [src]

- `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]

- `impl<Ret, A> PartialOrd<extern "C" fn(A) -> Ret> for extern "C" fn(A) -> Ret` | [src]

- `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]

- `impl PartialOrd<!> for !` | [src]

- `impl<T> PartialOrd<Cell<T>> for Cell<T> where T: Copy + PartialOrd<T>,` | [src]

- `impl<T> PartialOrd<[T]> for [T] where T: PartialOrd<T>,` | [src]

- `impl PartialOrd<u128> for u128` | [src]

- `impl PartialOrd<f32> for f32` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H, I> PartialOrd<extern "C" fn(A, B, C, D, E, F, G, H, I, ...) -> Ret> for extern "C" fn(A, B, C, D, E, F, G, H, I, ...) -> Ret` | [src]

- `impl<T> PartialOrd<[T; 28]> for [T; 28] where T: PartialOrd<T>,` | [src]

- `impl<T> PartialOrd<[T; 8]> for [T; 8] where T: PartialOrd<T>,` | [src]

- `impl<Ret, A, B, C, D, E, F, G> PartialOrd<fn(A, B, C, D, E, F, G) -> Ret> for fn(A, B, C, D, E, F, G) -> Ret` | [src]

- `impl<'a, 'b, A, B> PartialOrd<&'b mut B> for &'a mut A where A: PartialOrd<B> + ?Sized, B: ?Sized,` | [src]

- `impl<Ret, A> PartialOrd<unsafe fn(A) -> Ret> for unsafe fn(A) -> Ret` | [src]

- `impl PartialOrd<NonZeroU8> for NonZeroU8` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H, I, J> PartialOrd<extern "C" fn(A, B, C, D, E, F, G, H, I, J, ...) -> Ret> for extern "C" fn(A, B, C, D, E, F, G, H, I, J, ...) -> Ret` | [src]

- `impl<T> PartialOrd<[T; 6]> for [T; 6] where T: PartialOrd<T>,` | [src]

- `impl PartialOrd<i8> for i8` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H, I, J, K> PartialOrd<unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret` | [src]

- `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]

- `impl PartialOrd<Pinned> for Pinned` | [src]

- `impl<Ret, A, B> PartialOrd<unsafe fn(A, B) -> Ret> for unsafe fn(A, B) -> Ret` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H> PartialOrd<extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret> for extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret` | [src]

- `impl<Ret, A, B, C, D, E> PartialOrd<unsafe fn(A, B, C, D, E) -> Ret> for unsafe fn(A, B, C, D, E) -> Ret` | [src]

- `impl<T> PartialOrd<[T; 14]> for [T; 14] where T: PartialOrd<T>,` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H, I, J, K> PartialOrd<extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret> for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret` | [src]

- `impl PartialOrd<i16> for i16` | [src]

- `impl<T> PartialOrd<[T; 9]> for [T; 9] where T: PartialOrd<T>,` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H> PartialOrd<unsafe extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret` | [src]

- `impl<T> PartialOrd<[T; 30]> for [T; 30] where T: PartialOrd<T>,` | [src]

- `impl<Ret, A, B, C, D, E> PartialOrd<unsafe extern "C" fn(A, B, C, D, E) -> Ret> for unsafe extern "C" fn(A, B, C, D, E) -> Ret` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H, I, J, K> PartialOrd<unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret` | [src]

- `impl<T> PartialOrd<[T; 22]> for [T; 22] where T: PartialOrd<T>,` | [src]

- `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]

- `impl<Ret> PartialOrd<extern "C" fn() -> Ret> for extern "C" fn() -> Ret` | [src]

- `impl PartialOrd<i128> for i128` | [src]

- `impl PartialOrd<Duration> for Duration` | [src]

- `impl<T> PartialOrd<[T; 7]> for [T; 7] where T: PartialOrd<T>,` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H, I, J, K> PartialOrd<fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret> for fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret` | [src]

- `impl<T> PartialOrd<Option<T>> for Option<T> where T: PartialOrd<T>,` | [src]

- `impl<T> PartialOrd<[T; 13]> for [T; 13] where T: PartialOrd<T>,` | [src]

- `impl<T, E> PartialOrd<Result<T, E>> for Result<T, E> where E: PartialOrd<E>, T: PartialOrd<T>,` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H, I, J, K> PartialOrd<unsafe fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret> for unsafe fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret` | [src]

- `impl PartialOrd<Error> for Error` | [src]

- `impl PartialOrd<f64> for f64` | [src]

- `impl<T> PartialOrd<Reverse<T>> for Reverse<T> where T: PartialOrd<T>,` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H> PartialOrd<unsafe fn(A, B, C, D, E, F, G, H) -> Ret> for unsafe fn(A, B, C, D, E, F, G, H) -> Ret` | [src]

- `impl PartialOrd<NonZeroU16> for NonZeroU16` | [src]

- `impl PartialOrd<NonZeroU128> for NonZeroU128` | [src]

- `impl<T> PartialOrd<[T; 25]> for [T; 25] where T: PartialOrd<T>,` | [src]

- `impl<Ret, A, B, C, D, E, F> PartialOrd<fn(A, B, C, D, E, F) -> Ret> for fn(A, B, C, D, E, F) -> Ret` | [src]

- `impl<T> PartialOrd<*const T> for *const T where T: ?Sized,` | [src]

- `impl PartialOrd<TypeId> for TypeId` | [src]

- `impl<Ret, A, B, C, D, E, F, G> PartialOrd<unsafe extern "C" fn(A, B, C, D, E, F, G, ...) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F, G, ...) -> Ret` | [src]

- `impl<Ret, A, B, C> PartialOrd<extern "C" fn(A, B, C, ...) -> Ret> for extern "C" fn(A, B, C, ...) -> Ret` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H, I> PartialOrd<extern "C" fn(A, B, C, D, E, F, G, H, I) -> Ret> for extern "C" fn(A, B, C, D, E, F, G, H, I) -> Ret` | [src]

- `impl<T> PartialOrd<RefCell<T>> for RefCell<T> where T: PartialOrd<T> + ?Sized,` | [src]

- `impl<Ret, A, B, C> PartialOrd<fn(A, B, C) -> Ret> for fn(A, B, C) -> Ret` | [src]

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

- `impl<T> PartialOrd<[T; 0]> for [T; 0] where T: PartialOrd<T>,` | [src]

- `impl<Ret, A, B, C, D, E, F, G> PartialOrd<extern "C" fn(A, B, C, D, E, F, G, ...) -> Ret> for extern "C" fn(A, B, C, D, E, F, G, ...) -> Ret` | [src]

- `impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> PartialOrd<unsafe fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret> for unsafe fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret` | [src]

- `impl<Ret, A> PartialOrd<extern "C" fn(A, ...) -> Ret> for extern "C" fn(A, ...) -> Ret` | [src]

- `impl PartialOrd<u16> for u16` | [src]

- `impl<'a, 'b, A, B> PartialOrd<&'b B> for &'a A where A: PartialOrd<B> + ?Sized, B: ?Sized,` | [src]

- `impl<T> PartialOrd<PhantomData<T>> for PhantomData<T> where T: ?Sized,` | [src]

- `impl<Ret, A, B, C> PartialOrd<unsafe extern "C" fn(A, B, C) -> Ret> for unsafe extern "C" fn(A, B, C) -> Ret` | [src]

- `impl<Ret, A, B, C, D, E, F> PartialOrd<unsafe extern "C" fn(A, B, C, D, E, F, ...) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F, ...) -> Ret` | [src]

- `impl<Ret> PartialOrd<fn() -> Ret> for fn() -> Ret` | [src]

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

- `impl<Ret, A, B, C, D, E, F, G, H, I, J> PartialOrd<unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, ...) -> Ret> for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, ...) -> Ret` | [src]

- `impl PartialOrd<Ordering> for Ordering` | [src]

- `impl<Ret, A, B, C, D> PartialOrd<unsafe extern "C" fn(A, B, C, D) -> Ret> for unsafe extern "C" fn(A, B, C, D) -> Ret` | [src]

- `impl PartialOrd<bool> for bool` | [src]

- `impl<T> PartialOrd<Arc<T>> for Arc<T> where T: PartialOrd<T> + ?Sized,` | [src]

- `impl<A> PartialOrd<VecDeque<A>> for VecDeque<A> where A: PartialOrd<A>,` | [src]

- `impl<T> PartialOrd<LinkedList<T>> for LinkedList<T> where T: PartialOrd<T>,` | [src]

- `impl<'a, B> PartialOrd<Cow<'a, B>> for Cow<'a, B> where B: PartialOrd<B> + ToOwned + ?Sized,` | [src]

- `impl PartialOrd<String> for String` | [src]

- `impl<T> PartialOrd<Box<T>> for Box<T> where T: PartialOrd<T> + ?Sized,` | [src]

- `impl<T> PartialOrd<Rc<T>> for Rc<T> where T: PartialOrd<T> + ?Sized,` | [src]

- `impl<T> PartialOrd<BTreeSet<T>> for BTreeSet<T> where T: PartialOrd<T>,` | [src]

- `impl<K, V> PartialOrd<BTreeMap<K, V>> for BTreeMap<K, V> where K: PartialOrd<K>, V: PartialOrd<V>,` | [src]

- `impl<T> PartialOrd<Vec<T>> for Vec<T> where T: PartialOrd<T>,` | [src]

- `impl PartialOrd for CString` | [src]

- `impl PartialOrd for CStr` | [src]

- `impl PartialOrd for OsString` | [src]

- `impl PartialOrd<str> for OsString` | [src]

- `impl PartialOrd for OsStr` | [src]

- `impl PartialOrd<str> for OsStr` | [src]

- `impl<'a, 'b> PartialOrd<OsStr> for OsString` | [src]

- `impl<'a, 'b> PartialOrd<OsString> for OsStr` | [src]

- `impl<'a, 'b> PartialOrd<&'a OsStr> for OsString` | [src]

- `impl<'a, 'b> PartialOrd<OsString> for &'a OsStr` | [src]

- `impl<'a, 'b> PartialOrd<OsStr> for Cow<'a, OsStr>` | [src]

- `impl<'a, 'b> PartialOrd<Cow<'a, OsStr>> for OsStr` | [src]

- `impl<'a, 'b> PartialOrd<&'b OsStr> for Cow<'a, OsStr>` | [src]

- `impl<'a, 'b> PartialOrd<Cow<'a, OsStr>> for &'b OsStr` | [src]

- `impl<'a, 'b> PartialOrd<OsString> for Cow<'a, OsStr>` | [src]

- `impl<'a, 'b> PartialOrd<Cow<'a, OsStr>> for OsString` | [src]

- `impl PartialOrd for ErrorKind` | [src]

- `impl PartialOrd for IpAddr` | [src]

- `impl PartialOrd for Ipv4Addr` | [src]

- `impl PartialOrd<Ipv4Addr> for IpAddr` | [src]

- `impl PartialOrd<IpAddr> for Ipv4Addr` | [src]

- `impl PartialOrd for Ipv6Addr` | [src]

- `impl PartialOrd<Ipv6Addr> for IpAddr` | [src]

- `impl PartialOrd<IpAddr> for Ipv6Addr` | [src]

- `impl<'a> PartialOrd for Prefix<'a>` | [src]

- `impl<'a> PartialOrd for PrefixComponent<'a>` | [src]

- `impl<'a> PartialOrd for Component<'a>` | [src]

- `impl<'a> PartialOrd for Components<'a>` | [src]

- `impl PartialOrd for PathBuf` | [src]

- `impl PartialOrd for Path` | [src]

- `impl<'a, 'b> PartialOrd<Path> for PathBuf` | [src]

- `impl<'a, 'b> PartialOrd<PathBuf> for Path` | [src]

- `impl<'a, 'b> PartialOrd<&'a Path> for PathBuf` | [src]

- `impl<'a, 'b> PartialOrd<PathBuf> for &'a Path` | [src]

- `impl<'a, 'b> PartialOrd<Path> for Cow<'a, Path>` | [src]

- `impl<'a, 'b> PartialOrd<Cow<'a, Path>> for Path` | [src]

- `impl<'a, 'b> PartialOrd<&'b Path> for Cow<'a, Path>` | [src]

- `impl<'a, 'b> PartialOrd<Cow<'a, Path>> for &'b Path` | [src]

- `impl<'a, 'b> PartialOrd<PathBuf> for Cow<'a, Path>` | [src]

- `impl<'a, 'b> PartialOrd<Cow<'a, Path>> for PathBuf` | [src]

- `impl<'a, 'b> PartialOrd<OsStr> for PathBuf` | [src]

- `impl<'a, 'b> PartialOrd<PathBuf> for OsStr` | [src]

- `impl<'a, 'b> PartialOrd<&'a OsStr> for PathBuf` | [src]

- `impl<'a, 'b> PartialOrd<PathBuf> for &'a OsStr` | [src]

- `impl<'a, 'b> PartialOrd<Cow<'a, OsStr>> for PathBuf` | [src]

- `impl<'a, 'b> PartialOrd<PathBuf> for Cow<'a, OsStr>` | [src]

- `impl<'a, 'b> PartialOrd<OsString> for PathBuf` | [src]

- `impl<'a, 'b> PartialOrd<PathBuf> for OsString` | [src]

- `impl<'a, 'b> PartialOrd<OsStr> for Path` | [src]

- `impl<'a, 'b> PartialOrd<Path> for OsStr` | [src]

- `impl<'a, 'b> PartialOrd<&'a OsStr> for Path` | [src]

- `impl<'a, 'b> PartialOrd<Path> for &'a OsStr` | [src]

- `impl<'a, 'b> PartialOrd<Cow<'a, OsStr>> for Path` | [src]

- `impl<'a, 'b> PartialOrd<Path> for Cow<'a, OsStr>` | [src]

- `impl<'a, 'b> PartialOrd<OsString> for Path` | [src]

- `impl<'a, 'b> PartialOrd<Path> for OsString` | [src]

- `impl<'a, 'b> PartialOrd<OsStr> for &'a Path` | [src]

- `impl<'a, 'b> PartialOrd<&'a Path> for OsStr` | [src]

- `impl<'a, 'b> PartialOrd<Cow<'b, OsStr>> for &'a Path` | [src]

- `impl<'a, 'b> PartialOrd<&'a Path> for Cow<'b, OsStr>` | [src]

- `impl<'a, 'b> PartialOrd<OsString> for &'a Path` | [src]

- `impl<'a, 'b> PartialOrd<&'a Path> for OsString` | [src]

- `impl<'a, 'b> PartialOrd<OsStr> for Cow<'a, Path>` | [src]

- `impl<'a, 'b> PartialOrd<Cow<'a, Path>> for OsStr` | [src]

- `impl<'a, 'b> PartialOrd<&'b OsStr> for Cow<'a, Path>` | [src]

- `impl<'a, 'b> PartialOrd<Cow<'a, Path>> for &'b OsStr` | [src]

- `impl<'a, 'b> PartialOrd<OsString> for Cow<'a, Path>` | [src]

- `impl<'a, 'b> PartialOrd<Cow<'a, Path>> for OsString` | [src]

- `impl PartialOrd for Instant` | [src]

- `impl PartialOrd for SystemTime` | [src]

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)

Search multiple things at once by splitting your query with comma (e.g. `str,u8` or `String,struct:Vec,test`)