diff --git a/src/number.rs b/src/number.rs index eb7adc94..5ebe3957 100644 --- a/src/number.rs +++ b/src/number.rs @@ -529,7 +529,8 @@ impl From for Number { impl From for Number { fn from(mut f: f64) -> Self { if f.is_nan() { - f = f.copysign(1.0); + // Destroy NaN sign, signaling, and payload. YAML only has one NaN. + f = f64::NAN.copysign(1.0); } Number { n: N::Float(f) } }