Skip to content

Commit cd4d75b

Browse files
authored
Merge pull request #7630 from cakebaker/bump_bigdecimal
Bump `bigdecimal` & fix failing test
2 parents 1071847 + 60ebace commit cd4d75b

File tree

3 files changed

+3
-45
lines changed

3 files changed

+3
-45
lines changed

Cargo.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/uucore/src/lib/features/format/extendedbigdecimal.rs

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
//! assert_eq!(summand1 + summand2, ExtendedBigDecimal::Infinity);
2222
//! ```
2323
use std::cmp::Ordering;
24-
use std::fmt::Display;
2524
use std::ops::Add;
2625
use std::ops::Neg;
2726

@@ -110,25 +109,6 @@ impl ExtendedBigDecimal {
110109
}
111110
}
112111

113-
impl Display for ExtendedBigDecimal {
114-
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
115-
match self {
116-
Self::BigDecimal(x) => {
117-
let (n, p) = x.as_bigint_and_exponent();
118-
match p {
119-
0 => Self::BigDecimal(BigDecimal::new(n * 10, 1)).fmt(f),
120-
_ => x.fmt(f),
121-
}
122-
}
123-
Self::Infinity => f32::INFINITY.fmt(f),
124-
Self::MinusInfinity => f32::NEG_INFINITY.fmt(f),
125-
Self::MinusZero => (-0.0f32).fmt(f),
126-
Self::Nan => "nan".fmt(f),
127-
Self::MinusNan => "-nan".fmt(f),
128-
}
129-
}
130-
}
131-
132112
impl Zero for ExtendedBigDecimal {
133113
fn zero() -> Self {
134114
Self::BigDecimal(BigDecimal::zero())
@@ -281,16 +261,4 @@ mod tests {
281261
_ => unreachable!(),
282262
}
283263
}
284-
285-
#[test]
286-
fn test_display() {
287-
assert_eq!(
288-
format!("{}", ExtendedBigDecimal::BigDecimal(BigDecimal::zero())),
289-
"0.0"
290-
);
291-
assert_eq!(format!("{}", ExtendedBigDecimal::Infinity), "inf");
292-
assert_eq!(format!("{}", ExtendedBigDecimal::MinusInfinity), "-inf");
293-
assert_eq!(format!("{}", ExtendedBigDecimal::Nan), "nan");
294-
assert_eq!(format!("{}", ExtendedBigDecimal::MinusZero), "-0");
295-
}
296264
}

src/uucore/src/lib/features/format/num_format.rs

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -246,13 +246,7 @@ impl Formatter<&ExtendedBigDecimal> for Float {
246246
*/
247247
let (abs, negative) = match e {
248248
ExtendedBigDecimal::BigDecimal(bd) => {
249-
// Workaround printing bug in BigDecimal, force 0 to scale 0.
250-
// TODO: Remove after https://github.com/akubera/bigdecimal-rs/issues/144 is fixed.
251-
if bd.is_zero() {
252-
(ExtendedBigDecimal::zero(), false)
253-
} else {
254-
(ExtendedBigDecimal::BigDecimal(bd.abs()), bd.is_negative())
255-
}
249+
(ExtendedBigDecimal::BigDecimal(bd.abs()), bd.is_negative())
256250
}
257251
ExtendedBigDecimal::MinusZero => (ExtendedBigDecimal::zero(), true),
258252
ExtendedBigDecimal::Infinity => (ExtendedBigDecimal::Infinity, false),
@@ -730,12 +724,8 @@ mod test {
730724
}
731725

732726
#[test]
733-
#[ignore = "Need https://github.com/akubera/bigdecimal-rs/issues/144 to be fixed"]
734727
fn decimal_float_zero() {
735728
use super::format_float_decimal;
736-
// We've had issues with "0e10"/"0e-10" formatting.
737-
// TODO: Enable after https://github.com/akubera/bigdecimal-rs/issues/144 is fixed,
738-
// as our workaround is in .fmt.
739729
let f = |digits, scale| {
740730
format_float_decimal(&BigDecimal::from_bigint(digits, scale), 6, ForceDecimal::No)
741731
};

0 commit comments

Comments
 (0)