diff --git a/crates/toml/tests/testsuite/float.rs b/crates/toml/tests/testsuite/float.rs index d0081347..d0bf957b 100644 --- a/crates/toml/tests/testsuite/float.rs +++ b/crates/toml/tests/testsuite/float.rs @@ -47,7 +47,7 @@ macro_rules! float_inf_tests { assert!(inf.sf5.is_nan()); assert!(inf.sf5.is_sign_positive()); assert!(inf.sf6.is_nan()); - assert!(inf.sf6.is_sign_negative()); + assert!(inf.sf6.is_sign_negative()); // NOTE: but serializes to just `nan` assert_eq!(inf.sf7, 0.0); assert!(inf.sf7.is_sign_positive()); @@ -63,7 +63,7 @@ sf2 = inf sf3 = -inf sf4 = nan sf5 = nan -sf6 = -nan +sf6 = nan sf7 = 0.0 sf8 = -0.0 " diff --git a/crates/toml_edit/src/encode.rs b/crates/toml_edit/src/encode.rs index db10e29e..e4d8cb1f 100644 --- a/crates/toml_edit/src/encode.rs +++ b/crates/toml_edit/src/encode.rs @@ -537,8 +537,7 @@ impl ValueRepr for f64 { fn to_f64_repr(f: f64) -> Repr { let repr = match (f.is_sign_negative(), f.is_nan(), f == 0.0) { - (true, true, _) => "-nan".to_owned(), - (false, true, _) => "nan".to_owned(), + (_, true, _) => "nan".to_owned(), (true, false, true) => "-0.0".to_owned(), (false, false, true) => "0.0".to_owned(), (_, false, false) => {