Skip to content

Commit

Permalink
Remove Add/Sub/Mul/Div/Rem impls for &OrderedFloat
Browse files Browse the repository at this point in the history
These caused type infernence errors due to a bug in rustc.
Fixes #105.
  • Loading branch information
mbrubeck committed Apr 30, 2022
1 parent 61975f1 commit a849e73
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 26 deletions.
25 changes: 0 additions & 25 deletions src/lib.rs
Expand Up @@ -253,18 +253,6 @@ macro_rules! impl_ordered_float_binop {
}
}

impl<'a, T> $imp for &'a OrderedFloat<T>
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<OrderedFloat<T>> for &'a OrderedFloat<T>
where
&'a T: $imp<T>,
Expand Down Expand Up @@ -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<T>
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<T: $assign_imp> $assign_imp<T> for OrderedFloat<T> {
#[inline]
fn $assign_method(&mut self, other: T) {
Expand Down
1 change: 0 additions & 1 deletion tests/test.rs
Expand Up @@ -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);
Expand Down

0 comments on commit a849e73

Please sign in to comment.