From 96cd910c92fc8102777902504a2cd0292dbfe417 Mon Sep 17 00:00:00 2001 From: Oliver Schneider Date: Wed, 1 Jun 2016 11:08:59 +0200 Subject: [PATCH] undo the breaking change introduced in 0.7.6 --- serde/Cargo.toml | 2 +- serde/src/de/mod.rs | 2 +- serde/src/ser/mod.rs | 6 +++--- serde/src/utils.rs | 6 +++--- serde_codegen/Cargo.toml | 2 +- serde_macros/Cargo.toml | 6 +++--- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/serde/Cargo.toml b/serde/Cargo.toml index c9c02fc9..73195059 100644 --- a/serde/Cargo.toml +++ b/serde/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "serde" -version = "0.7.6" +version = "0.7.7" authors = ["Erick Tryzelaar "] license = "MIT/Apache-2.0" description = "A generic serialization/deserialization framework" diff --git a/serde/src/de/mod.rs b/serde/src/de/mod.rs index 9a4cbd04..d78441a5 100644 --- a/serde/src/de/mod.rs +++ b/serde/src/de/mod.rs @@ -578,7 +578,7 @@ pub trait Visitor { fn visit_char(&mut self, v: char) -> Result where E: Error, { - self.visit_str(::core::str::from_utf8(::utils::encode_utf8(v).as_slice()).unwrap()) + self.visit_str(::utils::encode_utf8(v).as_str()) } /// `visit_str` deserializes a `&str` into a `Value`. diff --git a/serde/src/ser/mod.rs b/serde/src/ser/mod.rs index a0d13842..6040ea11 100644 --- a/serde/src/ser/mod.rs +++ b/serde/src/ser/mod.rs @@ -122,11 +122,11 @@ pub trait Serializer { /// Serializes a `f64` value. fn serialize_f64(&mut self, v: f64) -> Result<(), Self::Error>; - /// Serializes a character. By default it serializes as bytes containing the UTF-8 encoding - /// of the character. + /// Serializes a character. By default it serializes it as a `&str` containing a + /// single character. #[inline] fn serialize_char(&mut self, v: char) -> Result<(), Self::Error> { - self.serialize_bytes(::utils::encode_utf8(v).as_slice()) + self.serialize_str(::utils::encode_utf8(v).as_str()) } /// Serializes a `&str`. diff --git a/serde/src/utils.rs b/serde/src/utils.rs index 44931cb4..708eb427 100644 --- a/serde/src/utils.rs +++ b/serde/src/utils.rs @@ -40,9 +40,9 @@ pub struct EncodeUtf8 { } impl EncodeUtf8 { - /// Returns the remaining bytes of this iterator as a slice. - pub fn as_slice(&self) -> &[u8] { - &self.buf[self.pos..] + // FIXME: use this from_utf8_unchecked, since we know it can never fail + pub fn as_str(&self) -> &str { + ::core::str::from_utf8(&self.buf[self.pos..]).unwrap() } } diff --git a/serde_codegen/Cargo.toml b/serde_codegen/Cargo.toml index e6ff7317..8438499b 100644 --- a/serde_codegen/Cargo.toml +++ b/serde_codegen/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "serde_codegen" -version = "0.7.6" +version = "0.7.7" authors = ["Erick Tryzelaar "] license = "MIT/Apache-2.0" description = "Macros to auto-generate implementations for the serde framework" diff --git a/serde_macros/Cargo.toml b/serde_macros/Cargo.toml index 5691690f..b3c1551c 100644 --- a/serde_macros/Cargo.toml +++ b/serde_macros/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "serde_macros" -version = "0.7.6" +version = "0.7.7" authors = ["Erick Tryzelaar "] license = "MIT/Apache-2.0" description = "Macros to auto-generate implementations for the serde framework" @@ -18,12 +18,12 @@ nightly-testing = ["clippy", "serde/nightly-testing", "serde_codegen/nightly-tes [dependencies] clippy = { version = "^0.*", optional = true } -serde_codegen = { version = "^0.7.6", path = "../serde_codegen", default-features = false, features = ["nightly"] } +serde_codegen = { version = "^0.7.7", path = "../serde_codegen", default-features = false, features = ["nightly"] } [dev-dependencies] compiletest_rs = "^0.1.1" rustc-serialize = "^0.3.16" -serde = { version = "^0.7.6", path = "../serde" } +serde = { version = "^0.7.7", path = "../serde" } [[test]] name = "test"