Trait void::coreprovider::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 < 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 } }
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 } }
Examples
let x : u32 = 0; let y : u32 = 1; assert_eq!(x < y, true); assert_eq!(x.lt(&y), true);
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));
When comparison is impossible:
let result = std::f64::NAN.partial_cmp(&1.0); assert_eq!(result, None);
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);
#[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);
#[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);
#[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);
Implementations on Foreign Types
impl PartialOrd<NonZeroU8> for NonZeroU8[src]
impl PartialOrd<NonZeroU8> for NonZeroU8impl<T> PartialOrd<Poll<T>> for Poll<T> where
T: PartialOrd<T>, [src]
impl<T> PartialOrd<Poll<T>> for Poll<T> where
T: PartialOrd<T>, impl<T, E> PartialOrd<Result<T, E>> for Result<T, E> where
E: PartialOrd<E>,
T: PartialOrd<T>, [src]
impl<T, E> PartialOrd<Result<T, E>> for Result<T, E> where
E: PartialOrd<E>,
T: PartialOrd<T>, impl<T> PartialOrd<PhantomData<T>> for PhantomData<T> where
T: ?Sized, [src]
impl<T> PartialOrd<PhantomData<T>> for PhantomData<T> where
T: ?Sized, impl PartialOrd<NonZeroU128> for NonZeroU128[src]
impl PartialOrd<NonZeroU128> for NonZeroU128fn partial_cmp(&self, other: &NonZeroU128) -> Option<Ordering>[src]
fn partial_cmp(&self, other: &NonZeroU128) -> Option<Ordering>fn lt(&self, other: &NonZeroU128) -> bool[src]
fn lt(&self, other: &NonZeroU128) -> boolfn le(&self, other: &NonZeroU128) -> bool[src]
fn le(&self, other: &NonZeroU128) -> boolfn gt(&self, other: &NonZeroU128) -> bool[src]
fn gt(&self, other: &NonZeroU128) -> boolfn ge(&self, other: &NonZeroU128) -> bool[src]
fn ge(&self, other: &NonZeroU128) -> boolimpl<T> PartialOrd<Wrapping<T>> for Wrapping<T> where
T: PartialOrd<T>, [src]
impl<T> PartialOrd<Wrapping<T>> for Wrapping<T> where
T: PartialOrd<T>, impl PartialOrd<Duration> for Duration[src]
impl PartialOrd<Duration> for Durationimpl PartialOrd<NonZeroU16> for NonZeroU16[src]
impl PartialOrd<NonZeroU16> for NonZeroU16fn partial_cmp(&self, other: &NonZeroU16) -> Option<Ordering>[src]
fn partial_cmp(&self, other: &NonZeroU16) -> Option<Ordering>fn lt(&self, other: &NonZeroU16) -> bool[src]
fn lt(&self, other: &NonZeroU16) -> boolfn le(&self, other: &NonZeroU16) -> bool[src]
fn le(&self, other: &NonZeroU16) -> boolfn gt(&self, other: &NonZeroU16) -> bool[src]
fn gt(&self, other: &NonZeroU16) -> boolfn ge(&self, other: &NonZeroU16) -> bool[src]
fn ge(&self, other: &NonZeroU16) -> boolimpl<T> PartialOrd<Option<T>> for Option<T> where
T: PartialOrd<T>, [src]
impl<T> PartialOrd<Option<T>> for Option<T> where
T: PartialOrd<T>, impl PartialOrd<NonZeroU32> for NonZeroU32[src]
impl PartialOrd<NonZeroU32> for NonZeroU32fn partial_cmp(&self, other: &NonZeroU32) -> Option<Ordering>[src]
fn partial_cmp(&self, other: &NonZeroU32) -> Option<Ordering>fn lt(&self, other: &NonZeroU32) -> bool[src]
fn lt(&self, other: &NonZeroU32) -> boolfn le(&self, other: &NonZeroU32) -> bool[src]
fn le(&self, other: &NonZeroU32) -> boolfn gt(&self, other: &NonZeroU32) -> bool[src]
fn gt(&self, other: &NonZeroU32) -> boolfn ge(&self, other: &NonZeroU32) -> bool[src]
fn ge(&self, other: &NonZeroU32) -> boolimpl PartialOrd<UnicodeVersion> for UnicodeVersion[src]
impl PartialOrd<UnicodeVersion> for UnicodeVersionfn partial_cmp(&self, other: &UnicodeVersion) -> Option<Ordering>[src]
fn partial_cmp(&self, other: &UnicodeVersion) -> Option<Ordering>fn lt(&self, other: &UnicodeVersion) -> bool[src]
fn lt(&self, other: &UnicodeVersion) -> boolfn le(&self, other: &UnicodeVersion) -> bool[src]
fn le(&self, other: &UnicodeVersion) -> boolfn gt(&self, other: &UnicodeVersion) -> bool[src]
fn gt(&self, other: &UnicodeVersion) -> boolfn ge(&self, other: &UnicodeVersion) -> bool[src]
fn ge(&self, other: &UnicodeVersion) -> boolimpl PartialOrd<TypeId> for TypeId[src]
impl PartialOrd<TypeId> for TypeIdimpl PartialOrd<NoneError> for NoneError[src]
impl PartialOrd<NoneError> for NoneErrorimpl<T> PartialOrd<ManuallyDrop<T>> for ManuallyDrop<T> where
T: PartialOrd<T>, [src]
impl<T> PartialOrd<ManuallyDrop<T>> for ManuallyDrop<T> where
T: PartialOrd<T>, fn partial_cmp(&self, other: &ManuallyDrop<T>) -> Option<Ordering>[src]
fn partial_cmp(&self, other: &ManuallyDrop<T>) -> Option<Ordering>fn lt(&self, other: &ManuallyDrop<T>) -> bool[src]
fn lt(&self, other: &ManuallyDrop<T>) -> boolfn le(&self, other: &ManuallyDrop<T>) -> bool[src]
fn le(&self, other: &ManuallyDrop<T>) -> boolfn gt(&self, other: &ManuallyDrop<T>) -> bool[src]
fn gt(&self, other: &ManuallyDrop<T>) -> boolfn ge(&self, other: &ManuallyDrop<T>) -> bool[src]
fn ge(&self, other: &ManuallyDrop<T>) -> boolimpl<T> PartialOrd<NonNull<T>> for NonNull<T> where
T: ?Sized, [src]
impl<T> PartialOrd<NonNull<T>> for NonNull<T> where
T: ?Sized, impl PartialOrd<NonZeroU64> for NonZeroU64[src]
impl PartialOrd<NonZeroU64> for NonZeroU64fn partial_cmp(&self, other: &NonZeroU64) -> Option<Ordering>[src]
fn partial_cmp(&self, other: &NonZeroU64) -> Option<Ordering>fn lt(&self, other: &NonZeroU64) -> bool[src]
fn lt(&self, other: &NonZeroU64) -> boolfn le(&self, other: &NonZeroU64) -> bool[src]
fn le(&self, other: &NonZeroU64) -> boolfn gt(&self, other: &NonZeroU64) -> bool[src]
fn gt(&self, other: &NonZeroU64) -> boolfn ge(&self, other: &NonZeroU64) -> bool[src]
fn ge(&self, other: &NonZeroU64) -> boolimpl<T> PartialOrd<Cell<T>> for Cell<T> where
T: Copy + PartialOrd<T>, [src]
impl<T> PartialOrd<Cell<T>> for Cell<T> where
T: Copy + PartialOrd<T>, impl<T> PartialOrd<RefCell<T>> for RefCell<T> where
T: PartialOrd<T> + ?Sized, [src]
impl<T> PartialOrd<RefCell<T>> for RefCell<T> where
T: PartialOrd<T> + ?Sized, fn partial_cmp(&self, other: &RefCell<T>) -> Option<Ordering>[src]
fn partial_cmp(&self, other: &RefCell<T>) -> Option<Ordering>Panics
Panics if the value in either RefCell is currently borrowed.
fn lt(&self, other: &RefCell<T>) -> bool[src]
fn lt(&self, other: &RefCell<T>) -> boolPanics
Panics if the value in either RefCell is currently borrowed.
fn le(&self, other: &RefCell<T>) -> bool[src]
fn le(&self, other: &RefCell<T>) -> boolPanics
Panics if the value in either RefCell is currently borrowed.
fn gt(&self, other: &RefCell<T>) -> bool[src]
fn gt(&self, other: &RefCell<T>) -> boolPanics
Panics if the value in either RefCell is currently borrowed.
fn ge(&self, other: &RefCell<T>) -> bool[src]
fn ge(&self, other: &RefCell<T>) -> boolPanics
Panics if the value in either RefCell is currently borrowed.
impl<Y, R> PartialOrd<GeneratorState<Y, R>> for GeneratorState<Y, R> where
R: PartialOrd<R>,
Y: PartialOrd<Y>, [src]
impl<Y, R> PartialOrd<GeneratorState<Y, R>> for GeneratorState<Y, R> where
R: PartialOrd<R>,
Y: PartialOrd<Y>, fn partial_cmp(&self, other: &GeneratorState<Y, R>) -> Option<Ordering>[src]
fn partial_cmp(&self, other: &GeneratorState<Y, R>) -> Option<Ordering>fn lt(&self, other: &GeneratorState<Y, R>) -> bool[src]
fn lt(&self, other: &GeneratorState<Y, R>) -> boolfn le(&self, other: &GeneratorState<Y, R>) -> bool[src]
fn le(&self, other: &GeneratorState<Y, R>) -> boolfn gt(&self, other: &GeneratorState<Y, R>) -> bool[src]
fn gt(&self, other: &GeneratorState<Y, R>) -> boolfn ge(&self, other: &GeneratorState<Y, R>) -> bool[src]
fn ge(&self, other: &GeneratorState<Y, R>) -> boolimpl PartialOrd<NonZeroUsize> for NonZeroUsize[src]
impl PartialOrd<NonZeroUsize> for NonZeroUsizefn partial_cmp(&self, other: &NonZeroUsize) -> Option<Ordering>[src]
fn partial_cmp(&self, other: &NonZeroUsize) -> Option<Ordering>fn lt(&self, other: &NonZeroUsize) -> bool[src]
fn lt(&self, other: &NonZeroUsize) -> boolfn le(&self, other: &NonZeroUsize) -> bool[src]
fn le(&self, other: &NonZeroUsize) -> boolfn gt(&self, other: &NonZeroUsize) -> bool[src]
fn gt(&self, other: &NonZeroUsize) -> boolfn ge(&self, other: &NonZeroUsize) -> bool[src]
fn ge(&self, other: &NonZeroUsize) -> boolimpl PartialOrd<Pinned> for Pinned[src]
impl PartialOrd<Pinned> for PinnedImplementors
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,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; 23]> for [T; 23] where
T: PartialOrd<T>,impl<Ret> PartialOrd<unsafe extern "C" fn() -> Ret> for unsafe extern "C" fn() -> 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<'a, 'b, A, B> PartialOrd<&'b mut B> for &'a mut A where
A: PartialOrd<B> + ?Sized,
B: ?Sized,impl<T> PartialOrd<[T; 15]> for [T; 15] where
T: PartialOrd<T>,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) -> Retimpl<T> PartialOrd<[T; 22]> for [T; 22] 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> PartialOrd<unsafe extern "C" fn(A, B, C, D, E) -> Ret> for unsafe extern "C" fn(A, B, C, D, E) -> Retimpl<T> PartialOrd<[T; 4]> for [T; 4] where
T: PartialOrd<T>,impl<T> PartialOrd<[T; 7]> for [T; 7] where
T: PartialOrd<T>,impl PartialOrd<u64> for u64impl<T> PartialOrd<[T; 30]> for [T; 30] where
T: PartialOrd<T>,impl<T> PartialOrd<[T; 5]> for [T; 5] where
T: PartialOrd<T>,impl PartialOrd<str> for strimpl<T> PartialOrd<[T; 29]> for [T; 29] where
T: PartialOrd<T>,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, ...) -> Retimpl<Ret, A> PartialOrd<extern "C" fn(A) -> Ret> for extern "C" fn(A) -> Retimpl<T> PartialOrd<[T; 16]> for [T; 16] where
T: PartialOrd<T>,impl<T> PartialOrd<[T; 18]> for [T; 18] where
T: PartialOrd<T>,impl PartialOrd<f64> for f64impl<T> PartialOrd<[T; 19]> for [T; 19] where
T: PartialOrd<T>,impl<Ret, A> PartialOrd<unsafe extern "C" fn(A, ...) -> Ret> for unsafe extern "C" fn(A, ...) -> Retimpl PartialOrd<i16> for i16impl<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<T> PartialOrd<[T; 10]> for [T; 10] where
T: PartialOrd<T>,impl<T> PartialOrd<[T; 2]> for [T; 2] where
T: PartialOrd<T>,impl PartialOrd<char> for charimpl<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<extern "C" fn(A, B, C, D) -> Ret> for extern "C" fn(A, B, C, D) -> Retimpl<T> PartialOrd<[T; 26]> for [T; 26] where
T: PartialOrd<T>,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> PartialOrd<extern "C" fn(A, B) -> Ret> for extern "C" fn(A, B) -> Retimpl<A> PartialOrd<(A,)> for (A,) where
A: PartialEq<A> + PartialOrd<A> + ?Sized,impl PartialOrd<()> for ()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) -> Retimpl<Ret, A, B> PartialOrd<unsafe fn(A, B) -> Ret> for unsafe fn(A, B) -> 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 PartialOrd<usize> for usizeimpl<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<T> PartialOrd<[T; 0]> for [T; 0] where
T: PartialOrd<T>,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) -> Retimpl<T> PartialOrd<[T; 3]> for [T; 3] where
T: PartialOrd<T>,impl<'a, 'b, A, B> PartialOrd<&'b B> for &'a A where
A: PartialOrd<B> + ?Sized,
B: ?Sized,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<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<T> PartialOrd<*const T> for *const T where
T: ?Sized,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) -> 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<T> PartialOrd<[T; 32]> for [T; 32] where
T: PartialOrd<T>,impl<Ret> PartialOrd<unsafe fn() -> Ret> for unsafe fn() -> Retimpl<Ret, A, B> PartialOrd<unsafe extern "C" fn(A, B) -> Ret> for unsafe 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> 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<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<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<A, B> PartialOrd<(A, B)> for (A, B) where
A: PartialEq<A> + PartialOrd<A>,
B: PartialEq<B> + PartialOrd<B> + ?Sized,impl<T> PartialOrd<[T; 24]> for [T; 24] where
T: PartialOrd<T>,impl<T> PartialOrd<[T; 17]> for [T; 17] where
T: PartialOrd<T>,impl<Ret, A> PartialOrd<extern "C" fn(A, ...) -> Ret> for extern "C" fn(A, ...) -> Retimpl<T> PartialOrd<[T; 27]> for [T; 27] where
T: PartialOrd<T>,impl<Ret, A, B, C, D, E> PartialOrd<fn(A, B, C, D, E) -> Ret> for fn(A, B, C, D, E) -> Retimpl<Ret> PartialOrd<fn() -> Ret> for fn() -> 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<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<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<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<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<T> PartialOrd<[T; 31]> for [T; 31] 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 PartialOrd<Error> for Errorimpl<Ret, A, B, C> PartialOrd<unsafe fn(A, B, C) -> Ret> for unsafe fn(A, B, C) -> Retimpl<Ret, A, B, C> PartialOrd<extern "C" fn(A, B, C) -> Ret> for extern "C" fn(A, B, C) -> Retimpl<T> PartialOrd<[T; 1]> for [T; 1] where
T: PartialOrd<T>,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, ...) -> Retimpl PartialOrd<bool> for boolimpl<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<!> for !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) -> 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<Ret, A, B, C, D> PartialOrd<unsafe fn(A, B, C, D) -> Ret> for unsafe fn(A, B, C, D) -> Retimpl<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, 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, 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<Ret, A, B, C> PartialOrd<fn(A, B, C) -> Ret> for fn(A, B, C) -> Retimpl PartialOrd<Ordering> for Orderingimpl<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<Ret, A> PartialOrd<fn(A) -> Ret> for fn(A) -> Retimpl<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 PartialOrd<f32> for f32impl PartialOrd<u32> for u32impl<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<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<Ret, A, B, C> PartialOrd<extern "C" fn(A, B, C, ...) -> Ret> for extern "C" fn(A, B, C, ...) -> Retimpl<T> PartialOrd<[T; 6]> for [T; 6] where
T: PartialOrd<T>,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; 25]> for [T; 25] where
T: PartialOrd<T>,impl<T> PartialOrd<[T; 28]> for [T; 28] where
T: PartialOrd<T>,impl<T> PartialOrd<[T; 14]> for [T; 14] where
T: PartialOrd<T>,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,impl PartialOrd<u128> for u128impl<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<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<i32> for i32impl PartialOrd<i8> for i8impl<T> PartialOrd<[T; 11]> for [T; 11] where
T: PartialOrd<T>,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, ...) -> Retimpl<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<u16> for u16impl<Ret, A> PartialOrd<unsafe extern "C" fn(A) -> Ret> for unsafe extern "C" fn(A) -> 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<extern "C" fn(A, B, C, D, E) -> Ret> for extern "C" fn(A, B, C, D, E) -> 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, 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<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<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<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<i128> for i128impl<T> PartialOrd<[T; 21]> for [T; 21] where
T: PartialOrd<T>,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) -> Retimpl<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, 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<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, 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<T> PartialOrd<[T; 8]> for [T; 8] where
T: PartialOrd<T>,impl<T> PartialOrd<Reverse<T>> for Reverse<T> where
T: PartialOrd<T>,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) -> Retimpl<T> PartialOrd<[T; 9]> for [T; 9] where
T: PartialOrd<T>,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) -> Retimpl<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<T> PartialOrd<[T; 13]> for [T; 13] where
T: PartialOrd<T>,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,impl<Ret> PartialOrd<extern "C" fn() -> Ret> for extern "C" fn() -> Retimpl<T> PartialOrd<[T; 12]> for [T; 12] where
T: PartialOrd<T>,impl PartialOrd<i64> for i64impl<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 PartialOrd<isize> for isizeimpl<Ret, A, B> PartialOrd<extern "C" fn(A, B, ...) -> Ret> for extern "C" fn(A, B, ...) -> 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<Ret, A, B, C> PartialOrd<unsafe extern "C" fn(A, B, C, ...) -> Ret> for unsafe extern "C" fn(A, B, C, ...) -> 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<Ret, A> PartialOrd<unsafe fn(A) -> Ret> for unsafe fn(A) -> Retimpl<Ret, A, B> PartialOrd<fn(A, B) -> Ret> for fn(A, B) -> Retimpl<T> PartialOrd<*mut T> for *mut T where
T: ?Sized,impl<T> PartialOrd<[T]> for [T] where
T: PartialOrd<T>,impl PartialOrd<u8> for u8impl<T> PartialOrd<T> for Void