diff --git a/src/field/ark_ff_field.rs b/src/field/ark_ff_field.rs index cd8932a..3bcf9a2 100644 --- a/src/field/ark_ff_field.rs +++ b/src/field/ark_ff_field.rs @@ -9,7 +9,6 @@ use ark_serialize::{ CanonicalSerializeWithFlags, Compress, Flags, Read, SerializationError, Valid, Validate, Write, }; use core::{ - cmp::Ordering, fmt::{Display, Formatter, Result as FmtResult}, hash::{Hash, Hasher}, iter::{Product, Sum}, @@ -26,7 +25,7 @@ use ark_std::{UniformRand, rand::prelude::*}; #[cfg(feature = "rand")] use rand::distr::StandardUniform; -#[derive(Clone, Copy, PartialEq, Eq, InfallibleCheckedOp)] +#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, InfallibleCheckedOp)] #[infallible_checked_unary_op((CheckedNeg, neg))] #[infallible_checked_binary_op((CheckedAdd, add), (CheckedSub, sub), (CheckedMul, mul))] #[repr(transparent)] @@ -76,20 +75,6 @@ impl Default for ArkField { } } -impl PartialOrd for ArkField { - #[inline(always)] - fn partial_cmp(&self, other: &Self) -> Option { - Some(self.cmp(other)) - } -} - -impl Ord for ArkField { - #[inline(always)] - fn cmp(&self, other: &Self) -> Ordering { - Ord::cmp(&self.0, &other.0) - } -} - impl Hash for ArkField { fn hash(&self, state: &mut H) { self.0.hash(state) diff --git a/src/semiring.rs b/src/semiring.rs index 568b262..492b52e 100644 --- a/src/semiring.rs +++ b/src/semiring.rs @@ -103,8 +103,8 @@ impl IntSemiringWithShifts for T where { } -pub trait ConstIntSemiring: IntSemiring + ConstSemiring + FromStr {} -impl ConstIntSemiring for T where T: IntSemiring + ConstSemiring + FromStr {} +pub trait ConstIntSemiring: IntSemiring + ConstSemiring + Ord + FromStr {} +impl ConstIntSemiring for T where T: IntSemiring + ConstSemiring + Ord + FromStr {} macro_rules! primitive_int_semiring { ($t:ident) => {