mirror of
https://github.com/serde-rs/serde.git
synced 2025-10-02 15:25:38 +00:00
Merge pull request #2733 from jamessan/nan-decimal
Only format Unexpected::Float with decimal point if it is finite
This commit is contained in:
commit
2d973c1805
@ -2312,13 +2312,17 @@ impl Display for WithDecimalPoint {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut writer = LookForDecimalPoint {
|
if self.0.is_finite() {
|
||||||
formatter,
|
let mut writer = LookForDecimalPoint {
|
||||||
has_decimal_point: false,
|
formatter,
|
||||||
};
|
has_decimal_point: false,
|
||||||
tri!(write!(writer, "{}", self.0));
|
};
|
||||||
if !writer.has_decimal_point {
|
tri!(write!(writer, "{}", self.0));
|
||||||
tri!(formatter.write_str(".0"));
|
if !writer.has_decimal_point {
|
||||||
|
tri!(formatter.write_str(".0"));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
tri!(write!(formatter, "{}", self.0));
|
||||||
}
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
@ -1438,6 +1438,14 @@ fn test_integer_from_float() {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_nan_no_decimal_point() {
|
||||||
|
assert_de_tokens_error::<isize>(
|
||||||
|
&[Token::F32(f32::NAN)],
|
||||||
|
"invalid type: floating point `NaN`, expected isize",
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_unit_struct_from_seq() {
|
fn test_unit_struct_from_seq() {
|
||||||
assert_de_tokens_error::<UnitStruct>(
|
assert_de_tokens_error::<UnitStruct>(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user