Remove support for serializing floats

This removes ruma-serde's dependency on dtoa. Removing deserialization
support could be done later, but would actually make the code more
complex, so is left out for now.
This commit is contained in:
Jonas Platte 2020-06-19 22:05:23 +02:00
parent 69d5da4018
commit e42223b1e4
No known key found for this signature in database
GPG Key ID: 7D261D771D915378
2 changed files with 4 additions and 15 deletions

View File

@ -14,7 +14,6 @@ version = "0.2.2"
edition = "2018"
[dependencies]
dtoa = "0.4.5"
js_int = { version = "0.1.5", features = ["serde"] }
itoa = "0.4.5"
serde = { version = "1.0.110", features = ["derive"] }

View File

@ -78,12 +78,12 @@ impl<S: Sink> ser::Serializer for PartSerializer<S> {
self.serialize_integer(v)
}
fn serialize_f32(self, v: f32) -> Result<S::Ok, Error> {
self.serialize_floating(v)
fn serialize_f32(self, _v: f32) -> Result<S::Ok, Error> {
Err(self.sink.unsupported())
}
fn serialize_f64(self, v: f64) -> Result<S::Ok, Error> {
self.serialize_floating(v)
fn serialize_f64(self, _v: f64) -> Result<S::Ok, Error> {
Err(self.sink.unsupported())
}
fn serialize_char(self, v: char) -> Result<S::Ok, Error> {
@ -203,14 +203,4 @@ impl<S: Sink> PartSerializer<S> {
let part = unsafe { str::from_utf8_unchecked(&buf[0..len]) };
ser::Serializer::serialize_str(self, part)
}
fn serialize_floating<F>(self, value: F) -> Result<S::Ok, Error>
where
F: dtoa::Floating,
{
let mut buf = [b'\0'; 24];
let len = dtoa::write(&mut buf[..], value).unwrap();
let part = unsafe { str::from_utf8_unchecked(&buf[0..len]) };
ser::Serializer::serialize_str(self, part)
}
}