From: Joshua Simmons Date: Fri, 3 Mar 2023 22:30:11 +0000 (+0100) Subject: Fix clippy lint X-Git-Url: https://git.nega.tv//gitweb.cgi?a=commitdiff_plain;h=1d9036b60436fe294ab87d04af26fdc7d1446056;p=josh%2Fnarcissus Fix clippy lint It doesn't like it when you implement Ord and Eq without also implementing PartialOrd and PartialEq manually. --- diff --git a/libs/narcissus-core/src/finite.rs b/libs/narcissus-core/src/finite.rs index 1ef3676..13f9c51 100644 --- a/libs/narcissus-core/src/finite.rs +++ b/libs/narcissus-core/src/finite.rs @@ -15,7 +15,7 @@ impl Error for NotFiniteError {} /// /// This allows us to safely implement Hash, Eq and Ord. #[repr(transparent)] -#[derive(Clone, Copy, PartialEq, PartialOrd)] +#[derive(Clone, Copy)] pub struct FiniteF32(f32); impl FiniteF32 { @@ -34,8 +34,22 @@ impl FiniteF32 { } } +impl PartialEq for FiniteF32 { + #[inline(always)] + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} + impl Eq for FiniteF32 {} +impl PartialOrd for FiniteF32 { + #[inline(always)] + fn partial_cmp(&self, other: &Self) -> Option { + self.0.partial_cmp(&other.0) + } +} + impl Ord for FiniteF32 { #[inline(always)] fn cmp(&self, other: &Self) -> std::cmp::Ordering { @@ -58,7 +72,7 @@ impl std::hash::Hash for FiniteF32 { /// /// This allows us to safely implement Hash, Eq and Ord. #[repr(transparent)] -#[derive(Clone, Copy, PartialEq, PartialOrd)] +#[derive(Clone, Copy)] pub struct FiniteF64(f64); impl FiniteF64 { @@ -77,8 +91,22 @@ impl FiniteF64 { } } +impl PartialEq for FiniteF64 { + #[inline(always)] + fn eq(&self, other: &Self) -> bool { + self.0 == other.0 + } +} + impl Eq for FiniteF64 {} +impl PartialOrd for FiniteF64 { + #[inline(always)] + fn partial_cmp(&self, other: &Self) -> Option { + self.0.partial_cmp(&other.0) + } +} + impl Ord for FiniteF64 { #[inline(always)] fn cmp(&self, other: &Self) -> std::cmp::Ordering {