From e42223b1e408bb43c0aaf76125ce3a41f0023c0c Mon Sep 17 00:00:00 2001 From: Jonas Platte Date: Fri, 19 Jun 2020 22:05:23 +0200 Subject: [PATCH] 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. --- ruma-serde/Cargo.toml | 1 - ruma-serde/src/urlencoded/ser/part.rs | 18 ++++-------------- 2 files changed, 4 insertions(+), 15 deletions(-) diff --git a/ruma-serde/Cargo.toml b/ruma-serde/Cargo.toml index 5a8f0fe9..08ad0a44 100644 --- a/ruma-serde/Cargo.toml +++ b/ruma-serde/Cargo.toml @@ -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"] } diff --git a/ruma-serde/src/urlencoded/ser/part.rs b/ruma-serde/src/urlencoded/ser/part.rs index 365a0d66..279b5234 100644 --- a/ruma-serde/src/urlencoded/ser/part.rs +++ b/ruma-serde/src/urlencoded/ser/part.rs @@ -78,12 +78,12 @@ impl ser::Serializer for PartSerializer { self.serialize_integer(v) } - fn serialize_f32(self, v: f32) -> Result { - self.serialize_floating(v) + fn serialize_f32(self, _v: f32) -> Result { + Err(self.sink.unsupported()) } - fn serialize_f64(self, v: f64) -> Result { - self.serialize_floating(v) + fn serialize_f64(self, _v: f64) -> Result { + Err(self.sink.unsupported()) } fn serialize_char(self, v: char) -> Result { @@ -203,14 +203,4 @@ impl PartSerializer { let part = unsafe { str::from_utf8_unchecked(&buf[0..len]) }; ser::Serializer::serialize_str(self, part) } - - fn serialize_floating(self, value: F) -> Result - 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) - } }