Trait std::cmp::PartialOrd 1.0.0
[−]
[src]
#[lang = "partial_ord"]pub trait PartialOrd<Rhs = Self>: PartialEq<Rhs> where
Rhs: ?Sized, { fn partial_cmp(&self, other: &Rhs) -> Option<Ordering>; fn lt(&self, other: &Rhs) -> bool { ... } fn le(&self, other: &Rhs) -> bool { ... } fn gt(&self, other: &Rhs) -> bool { ... } 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 < bthen!(a > b), as well asa > bimplying!(a < b); and - transitivity:
a < bandb < cimpliesa < 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 derived on structs, it will produce a
lexicographic ordering based on the top-to-bottom declaration order of the struct's members.
When derived 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
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
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
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
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
fn ge(&self, other: &Rhs) -> bool
Implementations on Foreign Types
impl<T> PartialOrd<NonZero<T>> for NonZero<T> where
T: Zeroable + PartialOrd<T>, [src]
impl<T> PartialOrd<NonZero<T>> for NonZero<T> where
T: Zeroable + PartialOrd<T>, impl PartialOrd<CpuidResult> for CpuidResult[src]
impl PartialOrd<CpuidResult> for CpuidResultfn partial_cmp(&self, __arg_0: &CpuidResult) -> Option<Ordering>[src]
fn partial_cmp(&self, __arg_0: &CpuidResult) -> Option<Ordering>fn lt(&self, __arg_0: &CpuidResult) -> bool[src]
fn lt(&self, __arg_0: &CpuidResult) -> boolfn le(&self, __arg_0: &CpuidResult) -> bool[src]
fn le(&self, __arg_0: &CpuidResult) -> boolfn gt(&self, __arg_0: &CpuidResult) -> bool[src]
fn gt(&self, __arg_0: &CpuidResult) -> boolfn ge(&self, __arg_0: &CpuidResult) -> bool[src]
fn ge(&self, __arg_0: &CpuidResult) -> boolImplementors
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, ...) -> Retimpl<T> PartialOrd<Reverse<T>> for Reverse<T> where
T: PartialOrd<T>,impl<Ret, A> PartialOrd<unsafe extern "C" fn(A, ...) -> Ret> for unsafe extern "C" fn(A, ...) -> Retimpl PartialOrd<NonZeroIsize> for NonZeroIsizeimpl<Ret, A, B, C, D, E, F> PartialOrd<fn(A, B, C, D, E, F) -> Ret> for fn(A, B, C, D, E, F) -> Retimpl<Ret, A, B, C, D> PartialOrd<extern "C" fn(A, B, C, D) -> Ret> for extern "C" fn(A, B, C, D) -> Retimpl<A> PartialOrd<(A,)> for (A,) where
A: PartialEq<A> + PartialOrd<A> + ?Sized,impl<Ret, A, B, C> PartialOrd<unsafe extern "C" fn(A, B, C, ...) -> Ret> for unsafe extern "C" fn(A, B, C, ...) -> Retimpl<T> PartialOrd<[T; 0]> for [T; 0] where
T: PartialOrd<T>,impl<T> PartialOrd<[T; 32]> for [T; 32] where
T: PartialOrd<T>,impl PartialOrd<char> for charimpl<T> PartialOrd<[T; 5]> for [T; 5] where
T: PartialOrd<T>,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, ...) -> Retimpl<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,impl PartialOrd<NonZeroI128> for NonZeroI128impl<T> PartialOrd<[T; 6]> for [T; 6] where
T: PartialOrd<T>,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) -> Retimpl<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,impl PartialOrd<u32x2> for u32x2impl PartialOrd<NonZeroI16> for NonZeroI16impl<T, E> PartialOrd<Result<T, E>> for Result<T, E> where
E: PartialOrd<E>,
T: PartialOrd<T>,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) -> Retimpl PartialOrd<u16x8> for u16x8impl PartialOrd<Duration> for Durationimpl<T> PartialOrd<[T; 15]> for [T; 15] where
T: PartialOrd<T>,impl<Ret, A, B> PartialOrd<unsafe extern "C" fn(A, B, ...) -> Ret> for unsafe extern "C" fn(A, B, ...) -> Retimpl<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) -> Retimpl PartialOrd<f64x2> for f64x2impl<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) -> Retimpl PartialOrd<u16x32> for u16x32impl<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) -> Retimpl PartialOrd<u64x8> for u64x8impl<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) -> Retimpl PartialOrd<f64> for f64impl PartialOrd<i8> for i8impl<Ret, A, B, C> PartialOrd<extern "C" fn(A, B, C) -> Ret> for extern "C" fn(A, B, C) -> Retimpl<Ret, A, B, C> PartialOrd<unsafe fn(A, B, C) -> Ret> for unsafe fn(A, B, C) -> Retimpl PartialOrd<u32x8> for u32x8impl PartialOrd<u8x32> for u8x32impl<Ret, A, B, C, D, E> PartialOrd<unsafe fn(A, B, C, D, E) -> Ret> for unsafe fn(A, B, C, D, E) -> Retimpl PartialOrd<u64x4> for u64x4impl<T> PartialOrd<[T; 12]> for [T; 12] where
T: PartialOrd<T>,impl PartialOrd<i128> for i128impl<T> PartialOrd<[T; 30]> for [T; 30] where
T: PartialOrd<T>,impl PartialOrd<i64x2> for i64x2impl<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, ...) -> Retimpl<'a, 'b, A, B> PartialOrd<&'b mut B> for &'a mut A where
A: PartialOrd<B> + ?Sized,
B: ?Sized,impl PartialOrd<u32x16> for u32x16impl<T> PartialOrd<[T; 23]> for [T; 23] where
T: PartialOrd<T>,impl<T> PartialOrd<[T; 16]> for [T; 16] where
T: PartialOrd<T>,impl PartialOrd<u8x4> for u8x4impl PartialOrd<TypeId> for TypeIdimpl PartialOrd<NonZeroU8> for NonZeroU8impl<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, ...) -> Retimpl<T> PartialOrd<[T; 2]> for [T; 2] where
T: PartialOrd<T>,impl PartialOrd<!> for !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, ...) -> Retimpl<Ret, A> PartialOrd<fn(A) -> Ret> for fn(A) -> Retimpl<T> PartialOrd<[T; 8]> for [T; 8] where
T: PartialOrd<T>,impl PartialOrd<u8x8> for u8x8impl<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, ...) -> Retimpl<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, ...) -> Retimpl PartialOrd<i16x8> for i16x8impl PartialOrd<b8x32> for b8x32impl<Ret, A, B, C, D> PartialOrd<unsafe extern "C" fn(A, B, C, D) -> Ret> for unsafe extern "C" fn(A, B, C, D) -> Retimpl<T> PartialOrd<*mut T> for *mut T where
T: ?Sized,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, ...) -> Retimpl PartialOrd<i32x4> for i32x4impl<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) -> Retimpl<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, ...) -> Retimpl PartialOrd<NonZeroU64> for NonZeroU64impl<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) -> Retimpl<T> PartialOrd<[T; 3]> for [T; 3] where
T: PartialOrd<T>,impl PartialOrd<f32> for f32impl<T> PartialOrd<[T; 27]> for [T; 27] where
T: PartialOrd<T>,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,impl<T> PartialOrd<[T; 19]> for [T; 19] where
T: PartialOrd<T>,impl<Ret, A> PartialOrd<extern "C" fn(A, ...) -> Ret> for extern "C" fn(A, ...) -> Retimpl<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) -> Retimpl PartialOrd<i32> for i32impl<Ret, A, B, C> PartialOrd<unsafe extern "C" fn(A, B, C) -> Ret> for unsafe extern "C" fn(A, B, C) -> Retimpl PartialOrd<i8x16> for i8x16impl<Ret, A, B, C> PartialOrd<fn(A, B, C) -> Ret> for fn(A, B, C) -> Retimpl<T> PartialOrd<[T; 17]> for [T; 17] where
T: PartialOrd<T>,impl<Ret, A, B, C, D> PartialOrd<fn(A, B, C, D) -> Ret> for fn(A, B, C, D) -> Retimpl<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) -> Retimpl PartialOrd<f32x2> for f32x2impl<T> PartialOrd<PhantomData<T>> for PhantomData<T> where
T: ?Sized,impl PartialOrd<Error> for Errorimpl<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, ...) -> Retimpl PartialOrd<()> for ()impl<A, B> PartialOrd<(A, B)> for (A, B) where
A: PartialEq<A> + PartialOrd<A>,
B: PartialEq<B> + PartialOrd<B> + ?Sized,impl PartialOrd<i32x2> for i32x2impl<T> PartialOrd<[T; 24]> for [T; 24] where
T: PartialOrd<T>,impl PartialOrd<b8x4> for b8x4impl<T> PartialOrd<[T; 11]> for [T; 11] where
T: PartialOrd<T>,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,impl PartialOrd<u16x2> for u16x2impl PartialOrd<b8x64> for b8x64impl<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) -> Retimpl PartialOrd<Ordering> for Orderingimpl PartialOrd<i16> for i16impl<T> PartialOrd<[T; 28]> for [T; 28] where
T: PartialOrd<T>,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, ...) -> Retimpl<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,impl<T> PartialOrd<[T; 22]> for [T; 22] where
T: PartialOrd<T>,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) -> Retimpl<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) -> Retimpl<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, ...) -> Retimpl<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,impl<Ret, A> PartialOrd<extern "C" fn(A) -> Ret> for extern "C" fn(A) -> Retimpl<Ret, A, B> PartialOrd<fn(A, B) -> Ret> for fn(A, B) -> Retimpl<T> PartialOrd<[T; 31]> for [T; 31] where
T: PartialOrd<T>,impl PartialOrd<i64x8> for i64x8impl<Ret, A, B> PartialOrd<extern "C" fn(A, B) -> Ret> for extern "C" fn(A, B) -> Retimpl<T> PartialOrd<[T; 20]> for [T; 20] where
T: PartialOrd<T>,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, ...) -> Retimpl PartialOrd<i8x32> for i8x32impl<Ret> PartialOrd<unsafe extern "C" fn() -> Ret> for unsafe extern "C" fn() -> Retimpl<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, ...) -> Retimpl<T> PartialOrd<ManuallyDrop<T>> for ManuallyDrop<T> where
T: PartialOrd<T>,impl PartialOrd<f64x4> for f64x4impl<T> PartialOrd<[T; 21]> for [T; 21] where
T: PartialOrd<T>,impl<T> PartialOrd<[T; 10]> for [T; 10] where
T: PartialOrd<T>,impl<T> PartialOrd<[T; 13]> for [T; 13] where
T: PartialOrd<T>,impl<'a, 'b, A, B> PartialOrd<&'b B> for &'a A where
A: PartialOrd<B> + ?Sized,
B: ?Sized,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) -> Retimpl<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) -> Retimpl PartialOrd<NonZeroU128> for NonZeroU128impl PartialOrd<u8x64> for u8x64impl PartialOrd<b8x16> for b8x16impl PartialOrd<b8x8> for b8x8impl PartialOrd<u64> for u64impl<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,impl PartialOrd<i8x64> for i8x64impl PartialOrd<isize> for isizeimpl<T> PartialOrd<Wrapping<T>> for Wrapping<T> where
T: PartialOrd<T>,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) -> Retimpl<T> PartialOrd<[T; 7]> for [T; 7] where
T: PartialOrd<T>,impl PartialOrd<NonZeroI8> for NonZeroI8impl PartialOrd<u64x2> for u64x2impl<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) -> Retimpl PartialOrd<bool> for boolimpl PartialOrd<u128> for u128impl PartialOrd<u16x4> for u16x4impl<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) -> Retimpl<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,impl PartialOrd<NonZeroUsize> for NonZeroUsizeimpl<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,impl<T> PartialOrd<Option<T>> for Option<T> where
T: PartialOrd<T>,impl<Ret, A, B, C, D> PartialOrd<extern "C" fn(A, B, C, D, ...) -> Ret> for extern "C" fn(A, B, C, D, ...) -> Retimpl<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) -> Retimpl<Ret, A, B> PartialOrd<unsafe extern "C" fn(A, B) -> Ret> for unsafe extern "C" fn(A, B) -> Retimpl<Ret, A, B, C, D> PartialOrd<unsafe fn(A, B, C, D) -> Ret> for unsafe fn(A, B, C, D) -> Retimpl PartialOrd<u32> for u32impl<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) -> Retimpl PartialOrd<i8x8> for i8x8impl<T> PartialOrd<[T; 1]> for [T; 1] where
T: PartialOrd<T>,impl PartialOrd<NonZeroI32> for NonZeroI32impl<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) -> Retimpl<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) -> Retimpl PartialOrd<f32x16> for f32x16impl PartialOrd<NoneError> for NoneErrorimpl<T> PartialOrd<[T; 18]> for [T; 18] where
T: PartialOrd<T>,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) -> Retimpl<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) -> Retimpl<T> PartialOrd<[T; 25]> for [T; 25] where
T: PartialOrd<T>,impl PartialOrd<i64x4> for i64x4impl PartialOrd<i32x16> for i32x16impl PartialOrd<i8x2> for i8x2impl<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) -> Retimpl PartialOrd<u8x16> for u8x16impl<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) -> Retimpl<Y, R> PartialOrd<GeneratorState<Y, R>> for GeneratorState<Y, R> where
R: PartialOrd<R>,
Y: PartialOrd<Y>,impl<T> PartialOrd<[T; 4]> for [T; 4] where
T: PartialOrd<T>,impl PartialOrd<NonZeroU16> for NonZeroU16impl<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) -> Retimpl PartialOrd<NonZeroI64> for NonZeroI64impl PartialOrd<i32x8> for i32x8impl PartialOrd<u16x16> for u16x16impl<T> PartialOrd<[T; 26]> for [T; 26] where
T: PartialOrd<T>,impl<T> PartialOrd<RefCell<T>> for RefCell<T> where
T: PartialOrd<T> + ?Sized,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, ...) -> Retimpl PartialOrd<i16x32> for i16x32impl<Ret> PartialOrd<extern "C" fn() -> Ret> for extern "C" fn() -> Retimpl<T> PartialOrd<NonNull<T>> for NonNull<T> where
T: ?Sized,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, ...) -> Retimpl PartialOrd<u32x4> for u32x4impl<Ret, A> PartialOrd<unsafe extern "C" fn(A) -> Ret> for unsafe extern "C" fn(A) -> Retimpl PartialOrd<i16x2> for i16x2impl PartialOrd<i16x4> for i16x4impl<T> PartialOrd<Cell<T>> for Cell<T> where
T: Copy + PartialOrd<T>,impl PartialOrd<i64> for i64impl<Ret, A, B> PartialOrd<unsafe fn(A, B) -> Ret> for unsafe fn(A, B) -> Retimpl<T> PartialOrd<[T; 9]> for [T; 9] where
T: PartialOrd<T>,impl PartialOrd<b8x2> for b8x2impl<T> PartialOrd<[T; 29]> for [T; 29] where
T: PartialOrd<T>,impl<T> PartialOrd<[T; 14]> for [T; 14] where
T: PartialOrd<T>,impl PartialOrd<i16x16> for i16x16impl<Ret> PartialOrd<fn() -> Ret> for fn() -> Retimpl<Ret, A, B, C, D, E> PartialOrd<fn(A, B, C, D, E) -> Ret> for fn(A, B, C, D, E) -> Retimpl<Ret, A, B, C> PartialOrd<extern "C" fn(A, B, C, ...) -> Ret> for extern "C" fn(A, B, C, ...) -> Retimpl PartialOrd<f32x8> for f32x8impl PartialOrd<u16> for u16impl<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,impl PartialOrd<i8x4> for i8x4impl<Ret, A> PartialOrd<unsafe fn(A) -> Ret> for unsafe fn(A) -> Retimpl<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, ...) -> Retimpl PartialOrd<f64x8> for f64x8impl PartialOrd<u8> for u8impl<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) -> Retimpl PartialOrd<NonZeroU32> for NonZeroU32impl PartialOrd<f32x4> for f32x4impl<Ret, A, B> PartialOrd<extern "C" fn(A, B, ...) -> Ret> for extern "C" fn(A, B, ...) -> Retimpl<T> PartialOrd<*const T> for *const T where
T: ?Sized,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) -> Retimpl PartialOrd<u8x2> for u8x2impl PartialOrd<str> for strimpl<T> PartialOrd<[T]> for [T] where
T: PartialOrd<T>,impl<Ret> PartialOrd<unsafe fn() -> Ret> for unsafe fn() -> Retimpl PartialOrd<usize> for usizeimpl<A> PartialOrd<VecDeque<A>> for VecDeque<A> where
A: PartialOrd<A>,impl<T> PartialOrd<BTreeSet<T>> for BTreeSet<T> where
T: PartialOrd<T>,impl<T> PartialOrd<Box<T>> for Box<T> where
T: PartialOrd<T> + ?Sized,impl<T> PartialOrd<Arc<T>> for Arc<T> where
T: PartialOrd<T> + ?Sized,impl<'a, B> PartialOrd<Cow<'a, B>> for Cow<'a, B> where
B: PartialOrd<B> + ToOwned + ?Sized,impl<K, V> PartialOrd<BTreeMap<K, V>> for BTreeMap<K, V> where
K: PartialOrd<K>,
V: PartialOrd<V>,impl<T> PartialOrd<Rc<T>> for Rc<T> where
T: PartialOrd<T> + ?Sized,impl<T> PartialOrd<LinkedList<T>> for LinkedList<T> where
T: PartialOrd<T>,impl PartialOrd<String> for Stringimpl<T> PartialOrd<Vec<T>> for Vec<T> where
T: PartialOrd<T>,impl PartialOrd<UnicodeVersion> for UnicodeVersionimpl PartialOrd for CStringimpl PartialOrd for CStrimpl PartialOrd for OsStringimpl PartialOrd<str> for OsStringimpl PartialOrd for OsStrimpl PartialOrd<str> for OsStrimpl<'a, 'b> PartialOrd<OsStr> for OsStringimpl<'a, 'b> PartialOrd<OsString> for OsStrimpl<'a, 'b> PartialOrd<&'a OsStr> for OsStringimpl<'a, 'b> PartialOrd<OsString> for &'a OsStrimpl<'a, 'b> PartialOrd<OsStr> for Cow<'a, OsStr>impl<'a, 'b> PartialOrd<Cow<'a, OsStr>> for OsStrimpl<'a, 'b> PartialOrd<&'b OsStr> for Cow<'a, OsStr>impl<'a, 'b> PartialOrd<Cow<'a, OsStr>> for &'b OsStrimpl<'a, 'b> PartialOrd<OsString> for Cow<'a, OsStr>impl<'a, 'b> PartialOrd<Cow<'a, OsStr>> for OsStringimpl PartialOrd for ErrorKindimpl PartialOrd for IpAddrimpl PartialOrd for Ipv4Addrimpl PartialOrd<Ipv4Addr> for IpAddrimpl PartialOrd<IpAddr> for Ipv4Addrimpl PartialOrd for Ipv6Addrimpl PartialOrd<Ipv6Addr> for IpAddrimpl PartialOrd<IpAddr> for Ipv6Addrimpl<'a> PartialOrd for Prefix<'a>impl<'a> PartialOrd for PrefixComponent<'a>impl<'a> PartialOrd for Component<'a>impl<'a> PartialOrd for Components<'a>impl PartialOrd for PathBufimpl PartialOrd for Pathimpl<'a, 'b> PartialOrd<Path> for PathBufimpl<'a, 'b> PartialOrd<PathBuf> for Pathimpl<'a, 'b> PartialOrd<&'a Path> for PathBufimpl<'a, 'b> PartialOrd<PathBuf> for &'a Pathimpl<'a, 'b> PartialOrd<Path> for Cow<'a, Path>impl<'a, 'b> PartialOrd<Cow<'a, Path>> for Pathimpl<'a, 'b> PartialOrd<&'b Path> for Cow<'a, Path>impl<'a, 'b> PartialOrd<Cow<'a, Path>> for &'b Pathimpl<'a, 'b> PartialOrd<PathBuf> for Cow<'a, Path>impl<'a, 'b> PartialOrd<Cow<'a, Path>> for PathBufimpl<'a, 'b> PartialOrd<OsStr> for PathBufimpl<'a, 'b> PartialOrd<PathBuf> for OsStrimpl<'a, 'b> PartialOrd<&'a OsStr> for PathBufimpl<'a, 'b> PartialOrd<PathBuf> for &'a OsStrimpl<'a, 'b> PartialOrd<Cow<'a, OsStr>> for PathBufimpl<'a, 'b> PartialOrd<PathBuf> for Cow<'a, OsStr>impl<'a, 'b> PartialOrd<OsString> for PathBufimpl<'a, 'b> PartialOrd<PathBuf> for OsStringimpl<'a, 'b> PartialOrd<OsStr> for Pathimpl<'a, 'b> PartialOrd<Path> for OsStrimpl<'a, 'b> PartialOrd<&'a OsStr> for Pathimpl<'a, 'b> PartialOrd<Path> for &'a OsStrimpl<'a, 'b> PartialOrd<Cow<'a, OsStr>> for Pathimpl<'a, 'b> PartialOrd<Path> for Cow<'a, OsStr>impl<'a, 'b> PartialOrd<OsString> for Pathimpl<'a, 'b> PartialOrd<Path> for OsStringimpl<'a, 'b> PartialOrd<OsStr> for &'a Pathimpl<'a, 'b> PartialOrd<&'a Path> for OsStrimpl<'a, 'b> PartialOrd<Cow<'b, OsStr>> for &'a Pathimpl<'a, 'b> PartialOrd<&'a Path> for Cow<'b, OsStr>impl<'a, 'b> PartialOrd<OsString> for &'a Pathimpl<'a, 'b> PartialOrd<&'a Path> for OsStringimpl<'a, 'b> PartialOrd<OsStr> for Cow<'a, Path>impl<'a, 'b> PartialOrd<Cow<'a, Path>> for OsStrimpl<'a, 'b> PartialOrd<&'b OsStr> for Cow<'a, Path>impl<'a, 'b> PartialOrd<Cow<'a, Path>> for &'b OsStrimpl<'a, 'b> PartialOrd<OsString> for Cow<'a, Path>impl<'a, 'b> PartialOrd<Cow<'a, Path>> for OsStringimpl PartialOrd for Instantimpl PartialOrd for SystemTime