Skip to content

Commit 6a6d2bb

Browse files
authored
Merge pull request #1107 from serde-rs/unexpectedfloat
Format f64 in error messages using ryu
2 parents 107c2d1 + 83d7bad commit 6a6d2bb

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

src/error.rs

+8-4
Original file line numberDiff line numberDiff line change
@@ -466,10 +466,14 @@ struct JsonUnexpected<'a>(de::Unexpected<'a>);
466466

467467
impl<'a> Display for JsonUnexpected<'a> {
468468
fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
469-
if let de::Unexpected::Unit = self.0 {
470-
formatter.write_str("null")
471-
} else {
472-
Display::fmt(&self.0, formatter)
469+
match self.0 {
470+
de::Unexpected::Unit => formatter.write_str("null"),
471+
de::Unexpected::Float(value) => write!(
472+
formatter,
473+
"floating point `{}`",
474+
ryu::Buffer::new().format(value),
475+
),
476+
unexp => Display::fmt(&unexp, formatter),
473477
}
474478
}
475479
}

0 commit comments

Comments
 (0)