diff --git a/src/json/de.rs b/src/json/de.rs index a0be628b..33eac20a 100644 --- a/src/json/de.rs +++ b/src/json/de.rs @@ -1,6 +1,6 @@ use std::str; use std::num::Float; -use std::str::ScalarValue; +use unicode::str::Utf16Item; use std::char; use de; @@ -379,8 +379,8 @@ impl> Parser { } let buf = &[n1, try!(self.decode_hex_escape())]; - match str::utf16_items(buf.as_slice()).next() { - Some(ScalarValue(c)) => c, + match ::unicode::str::utf16_items(buf.as_slice()).next() { + Some(Utf16Item::ScalarValue(c)) => c, _ => { return Err(self.error(ErrorCode::LoneLeadingSurrogateInHexEscape)); } diff --git a/src/lib.rs b/src/lib.rs index 60602976..c4df6b91 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -12,6 +12,8 @@ extern crate serde_macros; #[cfg(test)] extern crate serialize; +extern crate unicode; + pub use de::{Deserializer, Deserialize}; pub use ser::{Serializer, Serialize};