From a849e73160509d6142abbee6acfa428d06bffafe Mon Sep 17 00:00:00 2001 From: Matt Brubeck Date: Sat, 30 Apr 2022 15:18:49 -0700 Subject: [PATCH] Remove Add/Sub/Mul/Div/Rem impls for &OrderedFloat These caused type infernence errors due to a bug in rustc. Fixes #105. --- src/lib.rs | 25 ------------------------- tests/test.rs | 1 - 2 files changed, 26 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index f3ac064..4a63510 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -253,18 +253,6 @@ macro_rules! impl_ordered_float_binop { } } - impl<'a, T> $imp for &'a OrderedFloat - where - &'a T: $imp, - { - type Output = OrderedFloat<<&'a T as $imp>::Output>; - - #[inline] - fn $method(self, other: Self) -> Self::Output { - OrderedFloat((self.0).$method(&other.0)) - } - } - impl<'a, T> $imp> for &'a OrderedFloat where &'a T: $imp, @@ -301,19 +289,6 @@ macro_rules! impl_ordered_float_binop { } } - #[doc(hidden)] // Added accidentally; remove in next major version - impl<'a, T> $imp<&'a Self> for &'a OrderedFloat - where - &'a T: $imp, - { - type Output = OrderedFloat<<&'a T as $imp>::Output>; - - #[inline] - fn $method(self, other: &'a Self) -> Self::Output { - OrderedFloat((self.0).$method(&other.0)) - } - } - impl $assign_imp for OrderedFloat { #[inline] fn $assign_method(&mut self, other: T) { diff --git a/tests/test.rs b/tests/test.rs index fc1e76a..652b0ed 100644 --- a/tests/test.rs +++ b/tests/test.rs @@ -599,7 +599,6 @@ fn add() { assert_eq!(OrderedFloat(0.0) + OrderedFloat(0.0), 0.0); assert_eq!(OrderedFloat(0.0) + &OrderedFloat(0.0), 0.0); assert_eq!(&OrderedFloat(0.0) + OrderedFloat(0.0), 0.0); - assert_eq!(&OrderedFloat(0.0) + &OrderedFloat(0.0), 0.0); assert_eq!(OrderedFloat(0.0) + 0.0, 0.0); assert_eq!(OrderedFloat(0.0) + &0.0, 0.0); assert_eq!(&OrderedFloat(0.0) + 0.0, 0.0);