From 3b5d71fbb57e3350041f82a174221e3be9a4515b Mon Sep 17 00:00:00 2001 From: Thomas Bahn Date: Fri, 6 Feb 2015 13:32:17 +0100 Subject: [PATCH 01/16] Add empty `associated_types` in `expand_derive` --- serde2/serde2_macros/src/lib.rs | 4 +++- serde_macros/src/lib.rs | 8 +++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/serde2/serde2_macros/src/lib.rs b/serde2/serde2_macros/src/lib.rs index 1de7a4c2..7ea7ce24 100644 --- a/serde2/serde2_macros/src/lib.rs +++ b/serde2/serde2_macros/src/lib.rs @@ -1,4 +1,4 @@ -#![feature(plugin_registrar, quote, unboxed_closures)] +#![feature(plugin_registrar, quote, unboxed_closures, rustc_private)] extern crate syntax; extern crate rustc; @@ -73,6 +73,7 @@ fn expand_derive_serialize<>(cx: &mut ExtCtxt, path: Path::new(vec!["serde2", "ser", "Serialize"]), additional_bounds: Vec::new(), generics: LifetimeBounds::empty(), + associated_types: vec![], methods: vec![ MethodDef { name: "visit", @@ -260,6 +261,7 @@ pub fn expand_derive_deserialize(cx: &mut ExtCtxt, vec!(Box::new(Literal(Path::new_local("__E")))), true))), ("__E", None, vec!())) }, + associated_types: vec![], methods: vec!( MethodDef { name: "deserialize_token", diff --git a/serde_macros/src/lib.rs b/serde_macros/src/lib.rs index cc322185..86892efa 100644 --- a/serde_macros/src/lib.rs +++ b/serde_macros/src/lib.rs @@ -1,7 +1,7 @@ #![crate_name = "serde_macros"] #![crate_type = "dylib"] -#![feature(plugin_registrar, quote, unboxed_closures)] +#![feature(plugin_registrar, quote, unboxed_closures, rustc_private)] extern crate syntax; extern crate rustc; @@ -110,7 +110,8 @@ fn expand_derive_serialize(cx: &mut ExtCtxt, combine_substructure: combine_substructure(Box::new( |a, b, c| { serialize_substructure(a, b, c, item) })), - }) + }), + associated_types: vec!() }; trait_def.expand(cx, mitem, item, |item| push.call_mut((item,))) @@ -241,7 +242,8 @@ pub fn expand_derive_deserialize(cx: &mut ExtCtxt, combine_substructure: combine_substructure(Box::new(|a, b, c| { deserialize_substructure(a, b, c) })), - }) + }), + associated_types: vec!() }; trait_def.expand(cx, mitem, item, |item| push.call_mut((item,))) From 361acd37d0ea67d27ed694937f874cb23ac6a8f2 Mon Sep 17 00:00:00 2001 From: Thomas Bahn Date: Fri, 6 Feb 2015 14:14:35 +0100 Subject: [PATCH 02/16] Follow rust std: int, uint were renamed to isize, usize --- benches/bench_enum.rs | 54 ++++++------- benches/bench_log.rs | 78 +++++++++--------- benches/bench_map.rs | 136 +++++++++++++++---------------- benches/bench_struct.rs | 54 ++++++------- benches/bench_vec.rs | 156 ++++++++++++++++++------------------ serde2/benches/bench_log.rs | 30 +++---- src/de.rs | 118 +++++++++++++-------------- src/json/builder.rs | 16 ++-- src/json/de.rs | 22 ++--- src/json/error.rs | 2 +- src/json/mod.rs | 82 +++++++++---------- src/json/ser.rs | 26 +++--- src/json/value.rs | 10 +-- src/ser.rs | 100 +++++++++++------------ tests/json_struct.rs | 2 +- 15 files changed, 443 insertions(+), 443 deletions(-) mode change 100644 => 100755 benches/bench_log.rs diff --git a/benches/bench_enum.rs b/benches/bench_enum.rs index e523706f..85887612 100644 --- a/benches/bench_enum.rs +++ b/benches/bench_enum.rs @@ -21,7 +21,7 @@ use Animal::{Dog, Frog}; #[derive_deserialize] enum Animal { Dog, - Frog(String, int) + Frog(String, isize) } ////////////////////////////////////////////////////////////////////////////// @@ -41,11 +41,11 @@ mod decoder { use super::{Animal, Error}; use super::Animal::{Dog, Frog}; use super::Error::{SyntaxError, OtherError}; - use self::State::{AnimalState, IntState, StringState}; + use self::State::{AnimalState, IsizeState, StringState}; enum State { AnimalState(Animal), - IntState(int), + IsizeState(isize), StringState(String), } @@ -72,15 +72,15 @@ mod decoder { // Primitive types: fn read_nil(&mut self) -> Result<(), Error> { Err(SyntaxError) } - fn read_usize(&mut self) -> Result { Err(SyntaxError) } + fn read_usize(&mut self) -> Result { Err(SyntaxError) } fn read_u64(&mut self) -> Result { Err(SyntaxError) } fn read_u32(&mut self) -> Result { Err(SyntaxError) } fn read_u16(&mut self) -> Result { Err(SyntaxError) } fn read_u8(&mut self) -> Result { Err(SyntaxError) } #[inline] - fn read_isize(&mut self) -> Result { + fn read_isize(&mut self) -> Result { match self.stack.pop() { - Some(IntState(x)) => Ok(x), + Some(IsizeState(x)) => Ok(x), _ => Err(SyntaxError), } } @@ -120,12 +120,12 @@ mod decoder { #[inline] fn read_enum_variant(&mut self, names: &[&str], f: F) -> Result where - F: FnOnce(&mut AnimalDecoder, uint) -> Result, + F: FnOnce(&mut AnimalDecoder, usize) -> Result, { let name = match self.stack.pop() { Some(AnimalState(Dog)) => "Dog", Some(AnimalState(Frog(x0, x1))) => { - self.stack.push(IntState(x1)); + self.stack.push(IsizeState(x1)); self.stack.push(StringState(x0)); "Frog" } @@ -141,55 +141,55 @@ mod decoder { } #[inline] - fn read_enum_variant_arg(&mut self, _a_idx: uint, f: F) -> Result where + fn read_enum_variant_arg(&mut self, _a_idx: usize, f: F) -> Result where F: FnOnce(&mut AnimalDecoder) -> Result, { f(self) } fn read_enum_struct_variant(&mut self, _names: &[&str], _f: F) -> Result where - F: FnOnce(&mut AnimalDecoder, uint) -> Result, + F: FnOnce(&mut AnimalDecoder, usize) -> Result, { Err(Error::SyntaxError) } - fn read_enum_struct_variant_field(&mut self, _f_name: &str, _f_idx: uint, _f: F) -> Result where + fn read_enum_struct_variant_field(&mut self, _f_name: &str, _f_idx: usize, _f: F) -> Result where F: FnOnce(&mut AnimalDecoder) -> Result, { Err(Error::SyntaxError) } - fn read_struct(&mut self, _s_name: &str, _len: uint, _f: F) -> Result where + fn read_struct(&mut self, _s_name: &str, _len: usize, _f: F) -> Result where F: FnOnce(&mut AnimalDecoder) -> Result, { Err(Error::SyntaxError) } - fn read_struct_field(&mut self, _f_name: &str, _f_idx: uint, _f: F) -> Result where + fn read_struct_field(&mut self, _f_name: &str, _f_idx: usize, _f: F) -> Result where F: FnOnce(&mut AnimalDecoder) -> Result, { Err(Error::SyntaxError) } - fn read_tuple(&mut self, _len: uint, _f: F) -> Result where + fn read_tuple(&mut self, _len: usize, _f: F) -> Result where F: FnOnce(&mut AnimalDecoder) -> Result, { Err(Error::SyntaxError) } - fn read_tuple_arg(&mut self, _a_idx: uint, _f: F) -> Result where + fn read_tuple_arg(&mut self, _a_idx: usize, _f: F) -> Result where F: FnOnce(&mut AnimalDecoder) -> Result, { Err(Error::SyntaxError) } - fn read_tuple_struct(&mut self, _s_name: &str, _len: uint, _f: F) -> Result where + fn read_tuple_struct(&mut self, _s_name: &str, _len: usize, _f: F) -> Result where F: FnOnce(&mut AnimalDecoder) -> Result, { Err(Error::SyntaxError) } - fn read_tuple_struct_arg(&mut self, _a_idx: uint, _f: F) -> Result where + fn read_tuple_struct_arg(&mut self, _a_idx: usize, _f: F) -> Result where F: FnOnce(&mut AnimalDecoder) -> Result, { Err(Error::SyntaxError) @@ -204,31 +204,31 @@ mod decoder { #[inline] fn read_seq(&mut self, f: F) -> Result where - F: FnOnce(&mut AnimalDecoder, uint) -> Result, + F: FnOnce(&mut AnimalDecoder, usize) -> Result, { f(self, 3) } #[inline] - fn read_seq_elt(&mut self, _idx: uint, f: F) -> Result where + fn read_seq_elt(&mut self, _idx: usize, f: F) -> Result where F: FnOnce(&mut AnimalDecoder) -> Result, { f(self) } fn read_map(&mut self, _f: F) -> Result where - F: FnOnce(&mut AnimalDecoder, uint) -> Result, + F: FnOnce(&mut AnimalDecoder, usize) -> Result, { Err(SyntaxError) } - fn read_map_elt_key(&mut self, _idx: uint, _f: F) -> Result where + fn read_map_elt_key(&mut self, _idx: usize, _f: F) -> Result where F: FnOnce(&mut AnimalDecoder) -> Result, { Err(SyntaxError) } - fn read_map_elt_val(&mut self, _idx: uint, _f: F) -> Result where + fn read_map_elt_val(&mut self, _idx: usize, _f: F) -> Result where F: FnOnce(&mut AnimalDecoder) -> Result, { Err(SyntaxError) @@ -242,13 +242,13 @@ mod deserializer { use super::{Animal, Error}; use super::Animal::{Dog, Frog}; use super::Error::{EndOfStream, SyntaxError}; - use self::State::{AnimalState, IntState, StringState, EndState}; + use self::State::{AnimalState, IsizeState, StringState, EndState}; use serde::de; enum State { AnimalState(Animal), - IntState(int), + IsizeState(isize), StringState(String), EndState, @@ -279,12 +279,12 @@ mod deserializer { } Some(AnimalState(Frog(x0, x1))) => { self.stack.push(EndState); - self.stack.push(IntState(x1)); + self.stack.push(IsizeState(x1)); self.stack.push(StringState(x0)); Some(Ok(de::Token::EnumStart("Animal", "Frog", 2))) } - Some(IntState(x)) => { - Some(Ok(de::Token::Int(x))) + Some(IsizeState(x)) => { + Some(Ok(de::Token::Isize(x))) } Some(StringState(x)) => { Some(Ok(de::Token::String(x))) diff --git a/benches/bench_log.rs b/benches/bench_log.rs old mode 100644 new mode 100755 index cec2c2ec..1cc441d0 --- a/benches/bench_log.rs +++ b/benches/bench_log.rs @@ -46,7 +46,7 @@ enum HttpProtocol { impl rustc_serialize::Encodable for HttpProtocol { fn encode(&self, s: &mut S) -> Result<(), S::Error> { - (*self as uint).encode(s) + (*self as usize).encode(s) } } @@ -62,7 +62,7 @@ impl rustc_serialize::Decodable for HttpProtocol { impl, E> ser::Serialize for HttpProtocol { #[inline] fn serialize(&self, s: &mut S) -> Result<(), E> { - s.serialize_uint(*self as uint) + s.serialize_usize(*self as usize) } } @@ -90,7 +90,7 @@ enum HttpMethod { impl rustc_serialize::Encodable for HttpMethod { fn encode(&self, s: &mut S) -> Result<(), S::Error> { - (*self as uint).encode(s) + (*self as usize).encode(s) } } @@ -98,7 +98,7 @@ impl rustc_serialize::Decodable for HttpMethod { fn decode(d: &mut D) -> Result { match FromPrimitive::from_uint(try!(d.read_usize())) { Some(value) => Ok(value), - None => Err(d.error("cannot convert from uint")), + None => Err(d.error("cannot convert from usize")), } } } @@ -106,7 +106,7 @@ impl rustc_serialize::Decodable for HttpMethod { impl, E> ser::Serialize for HttpMethod { #[inline] fn serialize(&self, s: &mut S) -> Result<(), E> { - s.serialize_uint(*self as uint) + s.serialize_usize(*self as usize) } } @@ -127,7 +127,7 @@ enum CacheStatus { impl rustc_serialize::Encodable for CacheStatus { fn encode(&self, s: &mut S) -> Result<(), S::Error> { - (*self as uint).encode(s) + (*self as usize).encode(s) } } @@ -135,7 +135,7 @@ impl rustc_serialize::Decodable for CacheStatus { fn decode(d: &mut D) -> Result { match FromPrimitive::from_uint(try!(d.read_usize())) { Some(value) => Ok(value), - None => Err(d.error("cannot convert from uint")), + None => Err(d.error("cannot convert from usize")), } } } @@ -143,7 +143,7 @@ impl rustc_serialize::Decodable for CacheStatus { impl, E> ser::Serialize for CacheStatus { #[inline] fn serialize(&self, s: &mut S) -> Result<(), E> { - s.serialize_uint(*self as uint) + s.serialize_usize(*self as usize) } } @@ -173,7 +173,7 @@ enum OriginProtocol { impl rustc_serialize::Encodable for OriginProtocol { fn encode(&self, s: &mut S) -> Result<(), S::Error> { - (*self as uint).encode(s) + (*self as usize).encode(s) } } @@ -181,7 +181,7 @@ impl rustc_serialize::Decodable for OriginProtocol { fn decode(d: &mut D) -> Result { match FromPrimitive::from_uint(try!(d.read_usize())) { Some(value) => Ok(value), - None => Err(d.error("cannot convert from uint")), + None => Err(d.error("cannot convert from usize")), } } } @@ -189,7 +189,7 @@ impl rustc_serialize::Decodable for OriginProtocol { impl, E> ser::Serialize for OriginProtocol { #[inline] fn serialize(&self, s: &mut S) -> Result<(), E> { - s.serialize_uint(*self as uint) + s.serialize_usize(*self as usize) } } @@ -211,7 +211,7 @@ enum ZonePlan { impl rustc_serialize::Encodable for ZonePlan { fn encode(&self, s: &mut S) -> Result<(), S::Error> { - (*self as uint).encode(s) + (*self as usize).encode(s) } } @@ -219,7 +219,7 @@ impl rustc_serialize::Decodable for ZonePlan { fn decode(d: &mut D) -> Result { match FromPrimitive::from_uint(try!(d.read_usize())) { Some(value) => Ok(value), - None => Err(d.error("cannot convert from uint")), + None => Err(d.error("cannot convert from usize")), } } } @@ -227,7 +227,7 @@ impl rustc_serialize::Decodable for ZonePlan { impl, E> ser::Serialize for ZonePlan { #[inline] fn serialize(&self, s: &mut S) -> Result<(), E> { - s.serialize_uint(*self as uint) + s.serialize_usize(*self as usize) } } @@ -500,7 +500,7 @@ enum Country { impl rustc_serialize::Encodable for Country { fn encode(&self, s: &mut S) -> Result<(), S::Error> { - (*self as uint).encode(s) + (*self as usize).encode(s) } } @@ -508,7 +508,7 @@ impl rustc_serialize::Decodable for Country { fn decode(d: &mut D) -> Result { match FromPrimitive::from_uint(try!(d.read_usize())) { Some(value) => Ok(value), - None => Err(d.error("cannot convert from uint")), + None => Err(d.error("cannot convert from usize")), } } } @@ -516,7 +516,7 @@ impl rustc_serialize::Decodable for Country { impl, E> ser::Serialize for Country { #[inline] fn serialize(&self, s: &mut S) -> Result<(), E> { - s.serialize_uint(*self as uint) + s.serialize_usize(*self as usize) } } @@ -610,7 +610,7 @@ struct MyMemWriter0 { } impl MyMemWriter0 { - pub fn with_capacity(cap: uint) -> MyMemWriter0 { + pub fn with_capacity(cap: usize) -> MyMemWriter0 { MyMemWriter0 { buf: Vec::with_capacity(cap) } @@ -631,7 +631,7 @@ struct MyMemWriter1 { } impl MyMemWriter1 { - pub fn with_capacity(cap: uint) -> MyMemWriter1 { + pub fn with_capacity(cap: usize) -> MyMemWriter1 { MyMemWriter1 { buf: Vec::with_capacity(cap) } @@ -652,7 +652,7 @@ fn push_all_bytes(dst: &mut Vec, src: &[u8]) { dst.set_len(dst_len + src_len); ::std::ptr::copy_nonoverlapping_memory( - dst.as_mut_ptr().offset(dst_len as int), + dst.as_mut_ptr().offset(dst_len as isize), src.as_ptr(), src_len); } @@ -847,10 +847,10 @@ fn manual_serialize_no_escape(wr: &mut W, log: &Log) { wr.write_str(",\"zone_id\":").unwrap(); (write!(wr, "{}", log.zone_id)).unwrap(); wr.write_str(",\"zone_plan\":").unwrap(); - (write!(wr, "{}", log.zone_plan as uint)).unwrap(); + (write!(wr, "{}", log.zone_plan as usize)).unwrap(); wr.write_str(",\"http\":{\"protocol\":").unwrap(); - (write!(wr, "{}", log.http.protocol as uint)).unwrap(); + (write!(wr, "{}", log.http.protocol as usize)).unwrap(); wr.write_str(",\"status\":").unwrap(); (write!(wr, "{}", log.http.status)).unwrap(); wr.write_str(",\"host_status\":").unwrap(); @@ -858,7 +858,7 @@ fn manual_serialize_no_escape(wr: &mut W, log: &Log) { wr.write_str(",\"up_status\":").unwrap(); (write!(wr, "{}", log.http.up_status)).unwrap(); wr.write_str(",\"method\":").unwrap(); - (write!(wr, "{}", log.http.method as uint)).unwrap(); + (write!(wr, "{}", log.http.method as usize)).unwrap(); wr.write_str(",\"content_type\":").unwrap(); (write!(wr, "\"{}\"", log.http.content_type)).unwrap(); wr.write_str(",\"user_agent\":").unwrap(); @@ -878,12 +878,12 @@ fn manual_serialize_no_escape(wr: &mut W, log: &Log) { (write!(wr, "\"{}\"", log.origin.hostname)).unwrap(); wr.write_str(",\"protocol\":").unwrap(); - (write!(wr, "{}", log.origin.protocol as uint)).unwrap(); + (write!(wr, "{}", log.origin.protocol as usize)).unwrap(); wr.write_str("},\"country\":").unwrap(); - (write!(wr, "{}", log.country as uint)).unwrap(); + (write!(wr, "{}", log.country as usize)).unwrap(); wr.write_str(",\"cache_status\":").unwrap(); - (write!(wr, "{}", log.cache_status as uint)).unwrap(); + (write!(wr, "{}", log.cache_status as usize)).unwrap(); wr.write_str(",\"server_ip\":").unwrap(); (write!(wr, "\"{}\"", log.server_ip)).unwrap(); wr.write_str(",\"server_name\":").unwrap(); @@ -910,14 +910,14 @@ fn manual_serialize_escape(wr: &mut W, log: &Log) { wr.write_str(",").unwrap(); escape_str(wr, "zone_plan").unwrap(); wr.write_str(":").unwrap(); - (write!(wr, "{}", log.zone_plan as int)).unwrap(); + (write!(wr, "{}", log.zone_plan as isize)).unwrap(); wr.write_str(",").unwrap(); escape_str(wr, "http").unwrap(); wr.write_str(":{").unwrap(); escape_str(wr, "protocol").unwrap(); wr.write_str(":").unwrap(); - (write!(wr, "{}", log.http.protocol as uint)).unwrap(); + (write!(wr, "{}", log.http.protocol as usize)).unwrap(); wr.write_str(",").unwrap(); escape_str(wr, "status").unwrap(); wr.write_str(":").unwrap(); @@ -933,7 +933,7 @@ fn manual_serialize_escape(wr: &mut W, log: &Log) { wr.write_str(",").unwrap(); escape_str(wr, "method").unwrap(); wr.write_str(":").unwrap(); - (write!(wr, "{}", log.http.method as uint)).unwrap(); + (write!(wr, "{}", log.http.method as usize)).unwrap(); wr.write_str(",").unwrap(); escape_str(wr, "content_type").unwrap(); wr.write_str(":").unwrap(); @@ -969,16 +969,16 @@ fn manual_serialize_escape(wr: &mut W, log: &Log) { wr.write_str(",").unwrap(); escape_str(wr, "protocol").unwrap(); wr.write_str(":").unwrap(); - (write!(wr, "{}", log.origin.protocol as uint)).unwrap(); + (write!(wr, "{}", log.origin.protocol as usize)).unwrap(); wr.write_str("},").unwrap(); escape_str(wr, "country").unwrap(); wr.write_str(":").unwrap(); - (write!(wr, "{}", log.country as uint)).unwrap(); + (write!(wr, "{}", log.country as usize)).unwrap(); wr.write_str(",").unwrap(); escape_str(wr, "cache_status").unwrap(); wr.write_str(":").unwrap(); - (write!(wr, "{}", log.cache_status as uint)).unwrap(); + (write!(wr, "{}", log.cache_status as usize)).unwrap(); wr.write_str(",").unwrap(); escape_str(wr, "server_ip").unwrap(); wr.write_str(":").unwrap(); @@ -1167,11 +1167,11 @@ fn direct(wr: &mut W, log: &Log) { serializer.serialize_struct_elt("timestamp", &log.timestamp).unwrap(); serializer.serialize_struct_elt("zone_id", &log.zone_id).unwrap(); - serializer.serialize_struct_elt("zone_plan", &(log.zone_plan as uint)).unwrap(); + serializer.serialize_struct_elt("zone_plan", &(log.zone_plan as usize)).unwrap(); serializer.serialize_struct_elt("http", &log.http).unwrap(); serializer.serialize_struct_elt("origin", &log.origin).unwrap(); - serializer.serialize_struct_elt("country", &(log.country as uint)).unwrap(); - serializer.serialize_struct_elt("cache_status", &(log.cache_status as uint)).unwrap(); + serializer.serialize_struct_elt("country", &(log.country as usize)).unwrap(); + serializer.serialize_struct_elt("cache_status", &(log.cache_status as usize)).unwrap(); serializer.serialize_struct_elt("server_ip", &log.server_ip.as_slice()).unwrap(); serializer.serialize_struct_elt("server_name", &log.server_name.as_slice()).unwrap(); serializer.serialize_struct_elt("remote_ip", &log.remote_ip.as_slice()).unwrap(); @@ -1589,7 +1589,7 @@ fn bench_deserializers(b: &mut Bencher) { b.bytes = s.len() as u64; - for _ in range(0i, 10000) { + for _ in range(0is, 10000) { let _log: Log = json::from_str(s).unwrap(); } } @@ -1618,7 +1618,7 @@ fn bench_reader_manual_reader_deserializer(b: &mut Bencher) { fn bench_reader_manual_reader_deserializers(b: &mut Bencher) { b.bytes = JSON_STR.len() as u64; - for _ in range(0i, 100000) { + for _ in range(0is, 100000) { let mut rdr = JSON_STR.as_bytes(); let _ = manual_reader_deserialize(&mut rdr); } @@ -1646,7 +1646,7 @@ fn bench_iter_manual_iter_deserializer(b: &mut Bencher) { fn bench_iter_manual_iter_deserializers(b: &mut Bencher) { b.bytes = JSON_STR.len() as u64; - for _ in range(0i, 10000) { + for _ in range(0is, 10000) { let _ = manual_iter_deserialize(JSON_STR.bytes()); } } @@ -1681,7 +1681,7 @@ fn bench_iter_manual_reader_as_iter_deserializer(b: &mut Bencher) { fn bench_iter_manual_reader_as_iter_deserializers(b: &mut Bencher) { b.bytes = JSON_STR.len() as u64; - for _ in range(0i, 10000) { + for _ in range(0is, 10000) { let mut rdr = JSON_STR.as_bytes(); let iter = Bytes::new(&mut rdr) .map(|x| x.unwrap()); diff --git a/benches/bench_map.rs b/benches/bench_map.rs index b3be22a6..9a15ad6e 100644 --- a/benches/bench_map.rs +++ b/benches/bench_map.rs @@ -33,23 +33,23 @@ mod decoder { use super::Error; use super::Error::{EndOfStream, SyntaxError, OtherError}; - use self::Value::{StringValue, IntValue}; + use self::Value::{StringValue, IsizeValue}; enum Value { StringValue(String), - IntValue(int), + IsizeValue(isize), } - pub struct IntDecoder { - len: uint, - iter: IntoIter, + pub struct IsizeDecoder { + len: usize, + iter: IntoIter, stack: Vec, } - impl IntDecoder { + impl IsizeDecoder { #[inline] - pub fn new(values: HashMap) -> IntDecoder { - IntDecoder { + pub fn new(values: HashMap) -> IsizeDecoder { + IsizeDecoder { len: values.len(), iter: values.into_iter(), stack: vec!(), @@ -57,7 +57,7 @@ mod decoder { } } - impl rustc_serialize::Decoder for IntDecoder { + impl rustc_serialize::Decoder for IsizeDecoder { type Error = Error; fn error(&mut self, msg: &str) -> Error { @@ -66,15 +66,15 @@ mod decoder { // Primitive types: fn read_nil(&mut self) -> Result<(), Error> { Err(SyntaxError) } - fn read_usize(&mut self) -> Result { Err(SyntaxError) } + fn read_usize(&mut self) -> Result { Err(SyntaxError) } fn read_u64(&mut self) -> Result { Err(SyntaxError) } fn read_u32(&mut self) -> Result { Err(SyntaxError) } fn read_u16(&mut self) -> Result { Err(SyntaxError) } fn read_u8(&mut self) -> Result { Err(SyntaxError) } #[inline] - fn read_isize(&mut self) -> Result { + fn read_isize(&mut self) -> Result { match self.stack.pop() { - Some(IntValue(x)) => Ok(x), + Some(IsizeValue(x)) => Ok(x), Some(_) => Err(SyntaxError), None => Err(EndOfStream), } @@ -98,104 +98,104 @@ mod decoder { // Compound types: fn read_enum(&mut self, _name: &str, _f: F) -> Result where - F: FnOnce(&mut IntDecoder) -> Result, + F: FnOnce(&mut IsizeDecoder) -> Result, { Err(Error::SyntaxError) } fn read_enum_variant(&mut self, _names: &[&str], _f: F) -> Result where - F: FnOnce(&mut IntDecoder, uint) -> Result, + F: FnOnce(&mut IsizeDecoder, usize) -> Result, { Err(Error::SyntaxError) } - fn read_enum_variant_arg(&mut self, _a_idx: uint, _f: F) -> Result where - F: FnOnce(&mut IntDecoder) -> Result, + fn read_enum_variant_arg(&mut self, _a_idx: usize, _f: F) -> Result where + F: FnOnce(&mut IsizeDecoder) -> Result, { Err(Error::SyntaxError) } fn read_enum_struct_variant(&mut self, _names: &[&str], _f: F) -> Result where - F: FnOnce(&mut IntDecoder, uint) -> Result, + F: FnOnce(&mut IsizeDecoder, usize) -> Result, { Err(Error::SyntaxError) } - fn read_enum_struct_variant_field(&mut self, _f_name: &str, _f_idx: uint, _f: F) -> Result where - F: FnOnce(&mut IntDecoder) -> Result, + fn read_enum_struct_variant_field(&mut self, _f_name: &str, _f_idx: usize, _f: F) -> Result where + F: FnOnce(&mut IsizeDecoder) -> Result, { Err(Error::SyntaxError) } - fn read_struct(&mut self, _s_name: &str, _len: uint, _f: F) -> Result where - F: FnOnce(&mut IntDecoder) -> Result, + fn read_struct(&mut self, _s_name: &str, _len: usize, _f: F) -> Result where + F: FnOnce(&mut IsizeDecoder) -> Result, { Err(Error::SyntaxError) } - fn read_struct_field(&mut self, _f_name: &str, _f_idx: uint, _f: F) -> Result where - F: FnOnce(&mut IntDecoder) -> Result, + fn read_struct_field(&mut self, _f_name: &str, _f_idx: usize, _f: F) -> Result where + F: FnOnce(&mut IsizeDecoder) -> Result, { Err(Error::SyntaxError) } - fn read_tuple(&mut self, _len: uint, _f: F) -> Result where - F: FnOnce(&mut IntDecoder) -> Result, + fn read_tuple(&mut self, _len: usize, _f: F) -> Result where + F: FnOnce(&mut IsizeDecoder) -> Result, { Err(Error::SyntaxError) } - fn read_tuple_arg(&mut self, _a_idx: uint, _f: F) -> Result where - F: FnOnce(&mut IntDecoder) -> Result, + fn read_tuple_arg(&mut self, _a_idx: usize, _f: F) -> Result where + F: FnOnce(&mut IsizeDecoder) -> Result, { Err(Error::SyntaxError) } - fn read_tuple_struct(&mut self, _s_name: &str, _len: uint, _f: F) -> Result where - F: FnOnce(&mut IntDecoder) -> Result, + fn read_tuple_struct(&mut self, _s_name: &str, _len: usize, _f: F) -> Result where + F: FnOnce(&mut IsizeDecoder) -> Result, { Err(Error::SyntaxError) } - fn read_tuple_struct_arg(&mut self, _a_idx: uint, _f: F) -> Result where - F: FnOnce(&mut IntDecoder) -> Result, + fn read_tuple_struct_arg(&mut self, _a_idx: usize, _f: F) -> Result where + F: FnOnce(&mut IsizeDecoder) -> Result, { Err(Error::SyntaxError) } // Specialized types: fn read_option(&mut self, _f: F) -> Result where - F: FnOnce(&mut IntDecoder, bool) -> Result, + F: FnOnce(&mut IsizeDecoder, bool) -> Result, { Err(SyntaxError) } fn read_seq(&mut self, _f: F) -> Result where - F: FnOnce(&mut IntDecoder, uint) -> Result, + F: FnOnce(&mut IsizeDecoder, usize) -> Result, { Err(SyntaxError) } - fn read_seq_elt(&mut self, _idx: uint, _f: F) -> Result where - F: FnOnce(&mut IntDecoder) -> Result, + fn read_seq_elt(&mut self, _idx: usize, _f: F) -> Result where + F: FnOnce(&mut IsizeDecoder) -> Result, { Err(SyntaxError) } #[inline] fn read_map(&mut self, f: F) -> Result where - F: FnOnce(&mut IntDecoder, uint) -> Result, + F: FnOnce(&mut IsizeDecoder, usize) -> Result, { let len = self.len; f(self, len) } #[inline] - fn read_map_elt_key(&mut self, _idx: uint, f: F) -> Result where - F: FnOnce(&mut IntDecoder) -> Result, + fn read_map_elt_key(&mut self, _idx: usize, f: F) -> Result where + F: FnOnce(&mut IsizeDecoder) -> Result, { match self.iter.next() { Some((key, value)) => { - self.stack.push(IntValue(value)); + self.stack.push(IsizeValue(value)); self.stack.push(StringValue(key)); f(self) } @@ -206,8 +206,8 @@ mod decoder { } #[inline] - fn read_map_elt_val(&mut self, _idx: uint, f: F) -> Result where - F: FnOnce(&mut IntDecoder) -> Result, + fn read_map_elt_val(&mut self, _idx: usize, f: F) -> Result where + F: FnOnce(&mut IsizeDecoder) -> Result, { f(self) } @@ -230,20 +230,20 @@ mod deserializer { enum State { StartState, KeyOrEndState, - ValueState(int), + ValueState(isize), EndState, } - pub struct IntDeserializer { + pub struct IsizeDeserializer { stack: Vec, - len: uint, - iter: IntoIter, + len: usize, + iter: IntoIter, } - impl IntDeserializer { + impl IsizeDeserializer { #[inline] - pub fn new(values: HashMap) -> IntDeserializer { - IntDeserializer { + pub fn new(values: HashMap) -> IsizeDeserializer { + IsizeDeserializer { stack: vec!(StartState), len: values.len(), iter: values.into_iter(), @@ -251,7 +251,7 @@ mod deserializer { } } - impl Iterator for IntDeserializer { + impl Iterator for IsizeDeserializer { type Item = Result; #[inline] @@ -275,7 +275,7 @@ mod deserializer { } Some(ValueState(x)) => { self.stack.push(KeyOrEndState); - Some(Ok(de::Token::Int(x))) + Some(Ok(de::Token::Isize(x))) } Some(EndState) => { None @@ -287,7 +287,7 @@ mod deserializer { } } - impl de::Deserializer for IntDeserializer { + impl de::Deserializer for IsizeDeserializer { #[inline] fn end_of_stream_error(&mut self) -> Error { EndOfStream @@ -310,7 +310,7 @@ mod deserializer { #[inline] fn missing_field< - T: de::Deserialize + T: de::Deserialize >(&mut self, _field: &'static str) -> Result { Err(SyntaxError) } @@ -331,30 +331,30 @@ fn run_decoder< #[bench] fn bench_decoder_000(b: &mut Bencher) { b.iter(|| { - let m: HashMap = HashMap::new(); - run_decoder(decoder::IntDecoder::new(m.clone()), m) + let m: HashMap = HashMap::new(); + run_decoder(decoder::IsizeDecoder::new(m.clone()), m) }) } #[bench] fn bench_decoder_003(b: &mut Bencher) { b.iter(|| { - let mut m: HashMap = HashMap::new(); - for i in range(0i, 3) { + let mut m: HashMap = HashMap::new(); + for i in range(0is, 3) { m.insert(i.to_string(), i); } - run_decoder(decoder::IntDecoder::new(m.clone()), m) + run_decoder(decoder::IsizeDecoder::new(m.clone()), m) }) } #[bench] fn bench_decoder_100(b: &mut Bencher) { b.iter(|| { - let mut m: HashMap = HashMap::new(); - for i in range(0i, 100) { + let mut m: HashMap = HashMap::new(); + for i in range(0is, 100) { m.insert(i.to_string(), i); } - run_decoder(decoder::IntDecoder::new(m.clone()), m) + run_decoder(decoder::IsizeDecoder::new(m.clone()), m) }) } @@ -371,29 +371,29 @@ fn run_deserializer< #[bench] fn bench_deserializer_000(b: &mut Bencher) { b.iter(|| { - let m: HashMap = HashMap::new(); - run_deserializer(deserializer::IntDeserializer::new(m.clone()), m) + let m: HashMap = HashMap::new(); + run_deserializer(deserializer::IsizeDeserializer::new(m.clone()), m) }) } #[bench] fn bench_deserializer_003(b: &mut Bencher) { b.iter(|| { - let mut m: HashMap = HashMap::new(); - for i in range(0i, 3) { + let mut m: HashMap = HashMap::new(); + for i in range(0is, 3) { m.insert(i.to_string(), i); } - run_deserializer(deserializer::IntDeserializer::new(m.clone()), m) + run_deserializer(deserializer::IsizeDeserializer::new(m.clone()), m) }) } #[bench] fn bench_deserializer_100(b: &mut Bencher) { b.iter(|| { - let mut m: HashMap = HashMap::new(); - for i in range(0i, 100) { + let mut m: HashMap = HashMap::new(); + for i in range(0is, 100) { m.insert(i.to_string(), i); } - run_deserializer(deserializer::IntDeserializer::new(m.clone()), m) + run_deserializer(deserializer::IsizeDeserializer::new(m.clone()), m) }) } diff --git a/benches/bench_struct.rs b/benches/bench_struct.rs index 9c04eeca..afd22196 100644 --- a/benches/bench_struct.rs +++ b/benches/bench_struct.rs @@ -20,7 +20,7 @@ use serde::de::{Deserializer, Deserialize}; #[derive_deserialize] struct Inner { a: (), - b: uint, + b: usize, c: HashMap>, } @@ -54,7 +54,7 @@ mod decoder { OuterState, InnerState, NullState, - UintState, + UsizeState, CharState, StringState, FieldState, @@ -68,7 +68,7 @@ mod decoder { OuterState(Outer), InnerState(Inner), NullState, - UintState(uint), + UsizeState(usize), CharState(char), StringState(String), FieldState(&'static str), @@ -107,9 +107,9 @@ mod decoder { } } #[inline] - fn read_usize(&mut self) -> Result { + fn read_usize(&mut self) -> Result { match self.stack.pop() { - Some(UintState(value)) => Ok(value), + Some(UsizeState(value)) => Ok(value), _ => Err(Error::SyntaxError("UintState".to_string())), } } @@ -117,7 +117,7 @@ mod decoder { fn read_u32(&mut self) -> Result { Err(Error::SyntaxError("".to_string())) } fn read_u16(&mut self) -> Result { Err(Error::SyntaxError("".to_string())) } fn read_u8(&mut self) -> Result { Err(Error::SyntaxError("".to_string())) } - fn read_isize(&mut self) -> Result { Err(Error::SyntaxError("".to_string())) } + fn read_isize(&mut self) -> Result { Err(Error::SyntaxError("".to_string())) } fn read_i64(&mut self) -> Result { Err(Error::SyntaxError("".to_string())) } fn read_i32(&mut self) -> Result { Err(Error::SyntaxError("".to_string())) } fn read_i16(&mut self) -> Result { Err(Error::SyntaxError("".to_string())) } @@ -148,31 +148,31 @@ mod decoder { } fn read_enum_variant(&mut self, _names: &[&str], _f: F) -> Result where - F: FnOnce(&mut OuterDecoder, uint) -> Result, + F: FnOnce(&mut OuterDecoder, usize) -> Result, { Err(Error::SyntaxError("".to_string())) } - fn read_enum_variant_arg(&mut self, _a_idx: uint, _f: F) -> Result where + fn read_enum_variant_arg(&mut self, _a_idx: usize, _f: F) -> Result where F: FnOnce(&mut OuterDecoder) -> Result, { Err(Error::SyntaxError("".to_string())) } fn read_enum_struct_variant(&mut self, _names: &[&str], _f: F) -> Result where - F: FnOnce(&mut OuterDecoder, uint) -> Result, + F: FnOnce(&mut OuterDecoder, usize) -> Result, { Err(Error::SyntaxError("".to_string())) } - fn read_enum_struct_variant_field(&mut self, _f_name: &str, _f_idx: uint, _f: F) -> Result where + fn read_enum_struct_variant_field(&mut self, _f_name: &str, _f_idx: usize, _f: F) -> Result where F: FnOnce(&mut OuterDecoder) -> Result, { Err(Error::SyntaxError("".to_string())) } #[inline] - fn read_struct(&mut self, s_name: &str, _len: uint, f: F) -> Result where + fn read_struct(&mut self, s_name: &str, _len: usize, f: F) -> Result where F: FnOnce(&mut OuterDecoder) -> Result, { match self.stack.pop() { @@ -190,7 +190,7 @@ mod decoder { self.stack.push(MapState(c)); self.stack.push(FieldState("c")); - self.stack.push(UintState(b)); + self.stack.push(UsizeState(b)); self.stack.push(FieldState("b")); self.stack.push(NullState); @@ -204,7 +204,7 @@ mod decoder { } } #[inline] - fn read_struct_field(&mut self, f_name: &str, _f_idx: uint, f: F) -> Result where + fn read_struct_field(&mut self, f_name: &str, _f_idx: usize, f: F) -> Result where F: FnOnce(&mut OuterDecoder) -> Result, { match self.stack.pop() { @@ -219,25 +219,25 @@ mod decoder { } } - fn read_tuple(&mut self, _len: uint, _f: F) -> Result where + fn read_tuple(&mut self, _len: usize, _f: F) -> Result where F: FnOnce(&mut OuterDecoder) -> Result, { Err(Error::SyntaxError("".to_string())) } - fn read_tuple_arg(&mut self, _a_idx: uint, _f: F) -> Result where + fn read_tuple_arg(&mut self, _a_idx: usize, _f: F) -> Result where F: FnOnce(&mut OuterDecoder) -> Result, { Err(Error::SyntaxError("".to_string())) } - fn read_tuple_struct(&mut self, _s_name: &str, _len: uint, _f: F) -> Result where + fn read_tuple_struct(&mut self, _s_name: &str, _len: usize, _f: F) -> Result where F: FnOnce(&mut OuterDecoder) -> Result, { Err(Error::SyntaxError("".to_string())) } - fn read_tuple_struct_arg(&mut self, _a_idx: uint, _f: F) -> Result where + fn read_tuple_struct_arg(&mut self, _a_idx: usize, _f: F) -> Result where F: FnOnce(&mut OuterDecoder) -> Result, { Err(Error::SyntaxError("".to_string())) @@ -256,7 +256,7 @@ mod decoder { #[inline] fn read_seq(&mut self, f: F) -> Result where - F: FnOnce(&mut OuterDecoder, uint) -> Result, + F: FnOnce(&mut OuterDecoder, usize) -> Result, { match self.stack.pop() { Some(VecState(value)) => { @@ -270,7 +270,7 @@ mod decoder { } } #[inline] - fn read_seq_elt(&mut self, _idx: uint, f: F) -> Result where + fn read_seq_elt(&mut self, _idx: usize, f: F) -> Result where F: FnOnce(&mut OuterDecoder) -> Result, { f(self) @@ -278,7 +278,7 @@ mod decoder { #[inline] fn read_map(&mut self, f: F) -> Result where - F: FnOnce(&mut OuterDecoder, uint) -> Result, + F: FnOnce(&mut OuterDecoder, usize) -> Result, { match self.stack.pop() { Some(MapState(map)) => { @@ -301,14 +301,14 @@ mod decoder { } } #[inline] - fn read_map_elt_key(&mut self, _idx: uint, f: F) -> Result where + fn read_map_elt_key(&mut self, _idx: usize, f: F) -> Result where F: FnOnce(&mut OuterDecoder) -> Result, { f(self) } #[inline] - fn read_map_elt_val(&mut self, _idx: uint, f: F) -> Result where + fn read_map_elt_val(&mut self, _idx: usize, f: F) -> Result where F: FnOnce(&mut OuterDecoder) -> Result, { f(self) @@ -329,11 +329,11 @@ mod deserializer { InnerState, FieldState, NullState, - UintState, + UsizeState, CharState, StringState, OptionState, - //TupleState(uint), + //TupleState(usize), VecState, MapState, EndState, @@ -345,7 +345,7 @@ mod deserializer { InnerState(Inner), FieldState(&'static str), NullState, - UintState(uint), + UsizeState(usize), CharState(char), StringState(String), OptionState(bool), @@ -385,7 +385,7 @@ mod deserializer { self.stack.push(MapState(c)); self.stack.push(FieldState("c")); - self.stack.push(UintState(b)); + self.stack.push(UsizeState(b)); self.stack.push(FieldState("b")); self.stack.push(NullState); @@ -420,7 +420,7 @@ mod deserializer { } //Some(TupleState(len)) => Some(Ok(de::Token::TupleStart(len))), Some(NullState) => Some(Ok(de::Token::Null)), - Some(UintState(x)) => Some(Ok(de::Token::Uint(x))), + Some(UsizeState(x)) => Some(Ok(de::Token::Usize(x))), Some(CharState(x)) => Some(Ok(de::Token::Char(x))), Some(StringState(x)) => Some(Ok(de::Token::String(x))), Some(OptionState(x)) => Some(Ok(de::Token::Option(x))), diff --git a/benches/bench_vec.rs b/benches/bench_vec.rs index 3175a7ef..fbda5421 100644 --- a/benches/bench_vec.rs +++ b/benches/bench_vec.rs @@ -32,22 +32,22 @@ mod decoder { use super::Error; use super::Error::{EndOfStream, SyntaxError, OtherError}; - pub struct IntDecoder { - len: uint, - iter: vec::IntoIter, + pub struct IsizeDecoder { + len: usize, + iter: vec::IntoIter, } - impl IntDecoder { + impl IsizeDecoder { #[inline] - pub fn new(values: Vec) -> IntDecoder { - IntDecoder { + pub fn new(values: Vec) -> IsizeDecoder { + IsizeDecoder { len: values.len(), iter: values.into_iter(), } } } - impl rustc_serialize::Decoder for IntDecoder { + impl rustc_serialize::Decoder for IsizeDecoder { type Error = Error; fn error(&mut self, msg: &str) -> Error { @@ -56,13 +56,13 @@ mod decoder { // Primitive types: fn read_nil(&mut self) -> Result<(), Error> { Err(SyntaxError) } - fn read_usize(&mut self) -> Result { Err(SyntaxError) } + fn read_usize(&mut self) -> Result { Err(SyntaxError) } fn read_u64(&mut self) -> Result { Err(SyntaxError) } fn read_u32(&mut self) -> Result { Err(SyntaxError) } fn read_u16(&mut self) -> Result { Err(SyntaxError) } fn read_u8(&mut self) -> Result { Err(SyntaxError) } #[inline] - fn read_isize(&mut self) -> Result { + fn read_isize(&mut self) -> Result { match self.iter.next() { Some(value) => Ok(value), None => Err(EndOfStream), @@ -80,106 +80,106 @@ mod decoder { // Compound types: fn read_enum(&mut self, _name: &str, _f: F) -> Result where - F: FnOnce(&mut IntDecoder) -> Result, + F: FnOnce(&mut IsizeDecoder) -> Result, { Err(Error::SyntaxError) } fn read_enum_variant(&mut self, _names: &[&str], _f: F) -> Result where - F: FnOnce(&mut IntDecoder, uint) -> Result, + F: FnOnce(&mut IsizeDecoder, usize) -> Result, { Err(Error::SyntaxError) } - fn read_enum_variant_arg(&mut self, _a_idx: uint, _f: F) -> Result where - F: FnOnce(&mut IntDecoder) -> Result, + fn read_enum_variant_arg(&mut self, _a_idx: usize, _f: F) -> Result where + F: FnOnce(&mut IsizeDecoder) -> Result, { Err(Error::SyntaxError) } fn read_enum_struct_variant(&mut self, _names: &[&str], _f: F) -> Result where - F: FnOnce(&mut IntDecoder, uint) -> Result, + F: FnOnce(&mut IsizeDecoder, usize) -> Result, { Err(Error::SyntaxError) } - fn read_enum_struct_variant_field(&mut self, _f_name: &str, _f_idx: uint, _f: F) -> Result where - F: FnOnce(&mut IntDecoder) -> Result, + fn read_enum_struct_variant_field(&mut self, _f_name: &str, _f_idx: usize, _f: F) -> Result where + F: FnOnce(&mut IsizeDecoder) -> Result, { Err(Error::SyntaxError) } - fn read_struct(&mut self, _s_name: &str, _len: uint, _f: F) -> Result where - F: FnOnce(&mut IntDecoder) -> Result, + fn read_struct(&mut self, _s_name: &str, _len: usize, _f: F) -> Result where + F: FnOnce(&mut IsizeDecoder) -> Result, { Err(Error::SyntaxError) } - fn read_struct_field(&mut self, _f_name: &str, _f_idx: uint, _f: F) -> Result where - F: FnOnce(&mut IntDecoder) -> Result, + fn read_struct_field(&mut self, _f_name: &str, _f_idx: usize, _f: F) -> Result where + F: FnOnce(&mut IsizeDecoder) -> Result, { Err(Error::SyntaxError) } - fn read_tuple(&mut self, _len: uint, _f: F) -> Result where - F: FnOnce(&mut IntDecoder) -> Result, + fn read_tuple(&mut self, _len: usize, _f: F) -> Result where + F: FnOnce(&mut IsizeDecoder) -> Result, { Err(Error::SyntaxError) } - fn read_tuple_arg(&mut self, _a_idx: uint, _f: F) -> Result where - F: FnOnce(&mut IntDecoder) -> Result, + fn read_tuple_arg(&mut self, _a_idx: usize, _f: F) -> Result where + F: FnOnce(&mut IsizeDecoder) -> Result, { Err(Error::SyntaxError) } - fn read_tuple_struct(&mut self, _s_name: &str, _len: uint, _f: F) -> Result where - F: FnOnce(&mut IntDecoder) -> Result, + fn read_tuple_struct(&mut self, _s_name: &str, _len: usize, _f: F) -> Result where + F: FnOnce(&mut IsizeDecoder) -> Result, { Err(Error::SyntaxError) } - fn read_tuple_struct_arg(&mut self, _a_idx: uint, _f: F) -> Result where - F: FnOnce(&mut IntDecoder) -> Result, + fn read_tuple_struct_arg(&mut self, _a_idx: usize, _f: F) -> Result where + F: FnOnce(&mut IsizeDecoder) -> Result, { Err(Error::SyntaxError) } // Specialized types: fn read_option(&mut self, _f: F) -> Result where - F: FnOnce(&mut IntDecoder, bool) -> Result, + F: FnOnce(&mut IsizeDecoder, bool) -> Result, { Err(SyntaxError) } #[inline] fn read_seq(&mut self, f: F) -> Result where - F: FnOnce(&mut IntDecoder, uint) -> Result, + F: FnOnce(&mut IsizeDecoder, usize) -> Result, { let len = self.len; f(self, len) } #[inline] - fn read_seq_elt(&mut self, _idx: uint, f: F) -> Result where - F: FnOnce(&mut IntDecoder) -> Result, + fn read_seq_elt(&mut self, _idx: usize, f: F) -> Result where + F: FnOnce(&mut IsizeDecoder) -> Result, { f(self) } fn read_map(&mut self, _f: F) -> Result where - F: FnOnce(&mut IntDecoder, uint) -> Result, + F: FnOnce(&mut IsizeDecoder, usize) -> Result, { Err(SyntaxError) } - fn read_map_elt_key(&mut self, _idx: uint, _f: F) -> Result where - F: FnOnce(&mut IntDecoder) -> Result, + fn read_map_elt_key(&mut self, _idx: usize, _f: F) -> Result where + F: FnOnce(&mut IsizeDecoder) -> Result, { Err(SyntaxError) } - fn read_map_elt_val(&mut self, _idx: uint, _f: F) -> Result where - F: FnOnce(&mut IntDecoder) -> Result, + fn read_map_elt_val(&mut self, _idx: usize, _f: F) -> Result where + F: FnOnce(&mut IsizeDecoder) -> Result, { Err(SyntaxError) } @@ -187,7 +187,7 @@ mod decoder { pub struct U8Decoder { - len: uint, + len: usize, iter: vec::IntoIter, } @@ -210,7 +210,7 @@ mod decoder { // Primitive types: fn read_nil(&mut self) -> Result<(), Error> { Err(SyntaxError) } - fn read_usize(&mut self) -> Result { Err(SyntaxError) } + fn read_usize(&mut self) -> Result { Err(SyntaxError) } fn read_u64(&mut self) -> Result { Err(SyntaxError) } fn read_u32(&mut self) -> Result { Err(SyntaxError) } fn read_u16(&mut self) -> Result { Err(SyntaxError) } @@ -222,7 +222,7 @@ mod decoder { } } #[inline] - fn read_isize(&mut self) -> Result { Err(SyntaxError) } + fn read_isize(&mut self) -> Result { Err(SyntaxError) } fn read_i64(&mut self) -> Result { Err(SyntaxError) } fn read_i32(&mut self) -> Result { Err(SyntaxError) } fn read_i16(&mut self) -> Result { Err(SyntaxError) } @@ -241,60 +241,60 @@ mod decoder { } fn read_enum_variant(&mut self, _names: &[&str], _f: F) -> Result where - F: FnOnce(&mut U8Decoder, uint) -> Result, + F: FnOnce(&mut U8Decoder, usize) -> Result, { Err(Error::SyntaxError) } - fn read_enum_variant_arg(&mut self, _a_idx: uint, _f: F) -> Result where + fn read_enum_variant_arg(&mut self, _a_idx: usize, _f: F) -> Result where F: FnOnce(&mut U8Decoder) -> Result, { Err(Error::SyntaxError) } fn read_enum_struct_variant(&mut self, _names: &[&str], _f: F) -> Result where - F: FnOnce(&mut U8Decoder, uint) -> Result, + F: FnOnce(&mut U8Decoder, usize) -> Result, { Err(Error::SyntaxError) } - fn read_enum_struct_variant_field(&mut self, _f_name: &str, _f_idx: uint, _f: F) -> Result where + fn read_enum_struct_variant_field(&mut self, _f_name: &str, _f_idx: usize, _f: F) -> Result where F: FnOnce(&mut U8Decoder) -> Result, { Err(Error::SyntaxError) } - fn read_struct(&mut self, _s_name: &str, _len: uint, _f: F) -> Result where + fn read_struct(&mut self, _s_name: &str, _len: usize, _f: F) -> Result where F: FnOnce(&mut U8Decoder) -> Result, { Err(Error::SyntaxError) } - fn read_struct_field(&mut self, _f_name: &str, _f_idx: uint, _f: F) -> Result where + fn read_struct_field(&mut self, _f_name: &str, _f_idx: usize, _f: F) -> Result where F: FnOnce(&mut U8Decoder) -> Result, { Err(Error::SyntaxError) } - fn read_tuple(&mut self, _len: uint, _f: F) -> Result where + fn read_tuple(&mut self, _len: usize, _f: F) -> Result where F: FnOnce(&mut U8Decoder) -> Result, { Err(Error::SyntaxError) } - fn read_tuple_arg(&mut self, _a_idx: uint, _f: F) -> Result where + fn read_tuple_arg(&mut self, _a_idx: usize, _f: F) -> Result where F: FnOnce(&mut U8Decoder) -> Result, { Err(Error::SyntaxError) } - fn read_tuple_struct(&mut self, _s_name: &str, _len: uint, _f: F) -> Result where + fn read_tuple_struct(&mut self, _s_name: &str, _len: usize, _f: F) -> Result where F: FnOnce(&mut U8Decoder) -> Result, { Err(Error::SyntaxError) } - fn read_tuple_struct_arg(&mut self, _a_idx: uint, _f: F) -> Result where + fn read_tuple_struct_arg(&mut self, _a_idx: usize, _f: F) -> Result where F: FnOnce(&mut U8Decoder) -> Result, { Err(Error::SyntaxError) @@ -309,31 +309,31 @@ mod decoder { #[inline] fn read_seq(&mut self, f: F) -> Result where - F: FnOnce(&mut U8Decoder, uint) -> Result, + F: FnOnce(&mut U8Decoder, usize) -> Result, { let len = self.len; f(self, len) } #[inline] - fn read_seq_elt(&mut self, _idx: uint, f: F) -> Result where + fn read_seq_elt(&mut self, _idx: usize, f: F) -> Result where F: FnOnce(&mut U8Decoder) -> Result, { f(self) } fn read_map(&mut self, _f: F) -> Result where - F: FnOnce(&mut U8Decoder, uint) -> Result, + F: FnOnce(&mut U8Decoder, usize) -> Result, { Err(SyntaxError) } - fn read_map_elt_key(&mut self, _idx: uint, _f: F) -> Result where + fn read_map_elt_key(&mut self, _idx: usize, _f: F) -> Result where F: FnOnce(&mut U8Decoder) -> Result, { Err(SyntaxError) } - fn read_map_elt_val(&mut self, _idx: uint, _f: F) -> Result where + fn read_map_elt_val(&mut self, _idx: usize, _f: F) -> Result where F: FnOnce(&mut U8Decoder) -> Result, { Err(SyntaxError) @@ -360,16 +360,16 @@ mod deserializer { EndState, } - pub struct IntDeserializer { + pub struct IsizeDeserializer { state: State, - len: uint, - iter: vec::IntoIter, + len: usize, + iter: vec::IntoIter, } - impl IntDeserializer { + impl IsizeDeserializer { #[inline] - pub fn new(values: Vec) -> IntDeserializer { - IntDeserializer { + pub fn new(values: Vec) -> IsizeDeserializer { + IsizeDeserializer { state: StartState, len: values.len(), iter: values.into_iter(), @@ -377,7 +377,7 @@ mod deserializer { } } - impl Iterator for IntDeserializer { + impl Iterator for IsizeDeserializer { type Item = Result; #[inline] @@ -390,7 +390,7 @@ mod deserializer { SepOrEndState => { match self.iter.next() { Some(value) => { - Some(Ok(de::Token::Int(value))) + Some(Ok(de::Token::Isize(value))) } None => { self.state = EndState; @@ -405,7 +405,7 @@ mod deserializer { } } - impl de::Deserializer for IntDeserializer { + impl de::Deserializer for IsizeDeserializer { #[inline] fn end_of_stream_error(&mut self) -> Error { EndOfStream @@ -428,7 +428,7 @@ mod deserializer { #[inline] fn missing_field< - T: de::Deserialize + T: de::Deserialize >(&mut self, _field: &'static str) -> Result { Err(SyntaxError) } @@ -436,7 +436,7 @@ mod deserializer { pub struct U8Deserializer { state: State, - len: uint, + len: usize, iter: vec::IntoIter, } @@ -533,24 +533,24 @@ fn run_deserializer< #[bench] fn bench_decoder_int_000(b: &mut Bencher) { b.iter(|| { - let v: Vec = vec!(); - run_decoder(decoder::IntDecoder::new(v.clone()), v) + let v: Vec = vec!(); + run_decoder(decoder::IsizeDecoder::new(v.clone()), v) }) } #[bench] fn bench_decoder_int_003(b: &mut Bencher) { b.iter(|| { - let v: Vec = vec!(1, 2, 3); - run_decoder(decoder::IntDecoder::new(v.clone()), v) + let v: Vec = vec!(1, 2, 3); + run_decoder(decoder::IsizeDecoder::new(v.clone()), v) }) } #[bench] fn bench_decoder_int_100(b: &mut Bencher) { b.iter(|| { - let v: Vec = range(0i, 100).collect(); - run_decoder(decoder::IntDecoder::new(v.clone()), v) + let v: Vec = range(0is, 100).collect(); + run_decoder(decoder::IsizeDecoder::new(v.clone()), v) }) } @@ -581,24 +581,24 @@ fn bench_decoder_u8_100(b: &mut Bencher) { #[bench] fn bench_deserializer_int_000(b: &mut Bencher) { b.iter(|| { - let v: Vec = vec!(); - run_deserializer(deserializer::IntDeserializer::new(v.clone()), v) + let v: Vec = vec!(); + run_deserializer(deserializer::IsizeDeserializer::new(v.clone()), v) }) } #[bench] fn bench_deserializer_int_003(b: &mut Bencher) { b.iter(|| { - let v: Vec = vec!(1, 2, 3); - run_deserializer(deserializer::IntDeserializer::new(v.clone()), v) + let v: Vec = vec!(1, 2, 3); + run_deserializer(deserializer::IsizeDeserializer::new(v.clone()), v) }) } #[bench] fn bench_deserializer_int_100(b: &mut Bencher) { b.iter(|| { - let v: Vec = range(0i, 100).collect(); - run_deserializer(deserializer::IntDeserializer::new(v.clone()), v) + let v: Vec = range(0is, 100).collect(); + run_deserializer(deserializer::IsizeDeserializer::new(v.clone()), v) }) } diff --git a/serde2/benches/bench_log.rs b/serde2/benches/bench_log.rs index 549262b6..5e06e3f1 100644 --- a/serde2/benches/bench_log.rs +++ b/serde2/benches/bench_log.rs @@ -918,7 +918,7 @@ struct MyMemWriter0 { } impl MyMemWriter0 { - pub fn with_capacity(cap: uint) -> MyMemWriter0 { + pub fn with_capacity(cap: usize) -> MyMemWriter0 { MyMemWriter0 { buf: Vec::with_capacity(cap) } @@ -939,7 +939,7 @@ struct MyMemWriter1 { } impl MyMemWriter1 { - pub fn with_capacity(cap: uint) -> MyMemWriter1 { + pub fn with_capacity(cap: usize) -> MyMemWriter1 { MyMemWriter1 { buf: Vec::with_capacity(cap) } @@ -960,7 +960,7 @@ fn push_all_bytes(dst: &mut Vec, src: &[u8]) { dst.set_len(dst_len + src_len); ::std::ptr::copy_nonoverlapping_memory( - dst.as_mut_ptr().offset(dst_len as int), + dst.as_mut_ptr().offset(dst_len as isize), src.as_ptr(), src_len); } @@ -1157,10 +1157,10 @@ fn manual_serialize_no_escape(wr: &mut W, log: &Log) { wr.write_str(",\"zone_id\":").unwrap(); (write!(wr, "{}", log.zone_id)).unwrap(); wr.write_str(",\"zone_plan\":").unwrap(); - (write!(wr, "{}", log.zone_plan as uint)).unwrap(); + (write!(wr, "{}", log.zone_plan as usize)).unwrap(); wr.write_str(",\"http\":{\"protocol\":").unwrap(); - (write!(wr, "{}", log.http.protocol as uint)).unwrap(); + (write!(wr, "{}", log.http.protocol as usize)).unwrap(); wr.write_str(",\"status\":").unwrap(); (write!(wr, "{}", log.http.status)).unwrap(); wr.write_str(",\"host_status\":").unwrap(); @@ -1168,7 +1168,7 @@ fn manual_serialize_no_escape(wr: &mut W, log: &Log) { wr.write_str(",\"up_status\":").unwrap(); (write!(wr, "{}", log.http.up_status)).unwrap(); wr.write_str(",\"method\":").unwrap(); - (write!(wr, "{}", log.http.method as uint)).unwrap(); + (write!(wr, "{}", log.http.method as usize)).unwrap(); wr.write_str(",\"content_type\":").unwrap(); (write!(wr, "\"{}\"", log.http.content_type)).unwrap(); wr.write_str(",\"user_agent\":").unwrap(); @@ -1188,12 +1188,12 @@ fn manual_serialize_no_escape(wr: &mut W, log: &Log) { (write!(wr, "\"{}\"", log.origin.hostname)).unwrap(); wr.write_str(",\"protocol\":").unwrap(); - (write!(wr, "{}", log.origin.protocol as uint)).unwrap(); + (write!(wr, "{}", log.origin.protocol as usize)).unwrap(); wr.write_str("},\"country\":").unwrap(); - (write!(wr, "{}", log.country as uint)).unwrap(); + (write!(wr, "{}", log.country as usize)).unwrap(); wr.write_str(",\"cache_status\":").unwrap(); - (write!(wr, "{}", log.cache_status as uint)).unwrap(); + (write!(wr, "{}", log.cache_status as usize)).unwrap(); wr.write_str(",\"server_ip\":").unwrap(); (write!(wr, "\"{}\"", log.server_ip)).unwrap(); wr.write_str(",\"server_name\":").unwrap(); @@ -1220,14 +1220,14 @@ fn manual_serialize_escape(wr: &mut W, log: &Log) { wr.write_str(",").unwrap(); escape_str(wr, "zone_plan").unwrap(); wr.write_str(":").unwrap(); - (write!(wr, "{}", log.zone_plan as int)).unwrap(); + (write!(wr, "{}", log.zone_plan as isize)).unwrap(); wr.write_str(",").unwrap(); escape_str(wr, "http").unwrap(); wr.write_str(":{").unwrap(); escape_str(wr, "protocol").unwrap(); wr.write_str(":").unwrap(); - (write!(wr, "{}", log.http.protocol as uint)).unwrap(); + (write!(wr, "{}", log.http.protocol as usize)).unwrap(); wr.write_str(",").unwrap(); escape_str(wr, "status").unwrap(); wr.write_str(":").unwrap(); @@ -1243,7 +1243,7 @@ fn manual_serialize_escape(wr: &mut W, log: &Log) { wr.write_str(",").unwrap(); escape_str(wr, "method").unwrap(); wr.write_str(":").unwrap(); - (write!(wr, "{}", log.http.method as uint)).unwrap(); + (write!(wr, "{}", log.http.method as usize)).unwrap(); wr.write_str(",").unwrap(); escape_str(wr, "content_type").unwrap(); wr.write_str(":").unwrap(); @@ -1279,16 +1279,16 @@ fn manual_serialize_escape(wr: &mut W, log: &Log) { wr.write_str(",").unwrap(); escape_str(wr, "protocol").unwrap(); wr.write_str(":").unwrap(); - (write!(wr, "{}", log.origin.protocol as uint)).unwrap(); + (write!(wr, "{}", log.origin.protocol as usize)).unwrap(); wr.write_str("},").unwrap(); escape_str(wr, "country").unwrap(); wr.write_str(":").unwrap(); - (write!(wr, "{}", log.country as uint)).unwrap(); + (write!(wr, "{}", log.country as usize)).unwrap(); wr.write_str(",").unwrap(); escape_str(wr, "cache_status").unwrap(); wr.write_str(":").unwrap(); - (write!(wr, "{}", log.cache_status as uint)).unwrap(); + (write!(wr, "{}", log.cache_status as usize)).unwrap(); wr.write_str(",").unwrap(); escape_str(wr, "server_ip").unwrap(); wr.write_str(":").unwrap(); diff --git a/src/de.rs b/src/de.rs index 16d5e4fa..d6625698 100644 --- a/src/de.rs +++ b/src/de.rs @@ -22,12 +22,12 @@ use std::sync::Arc; pub enum Token { Null, Bool(bool), - Int(int), + Isize(isize), I8(i8), I16(i16), I32(i32), I64(i64), - Uint(uint), + Usize(usize), U8(u8), U16(u16), U32(u32), @@ -39,11 +39,11 @@ pub enum Token { String(String), Option(bool), - TupleStart(uint), - StructStart(&'static str, uint), - EnumStart(&'static str, &'static str, uint), - SeqStart(uint), - MapStart(uint), + TupleStart(usize), + StructStart(&'static str, usize), + EnumStart(&'static str, &'static str, usize), + SeqStart(usize), + MapStart(usize), End, } @@ -53,12 +53,12 @@ impl Token { match *self { Token::Null => TokenKind::NullKind, Token::Bool(_) => TokenKind::BoolKind, - Token::Int(_) => TokenKind::IntKind, + Token::Isize(_) => TokenKind::IsizeKind, Token::I8(_) => TokenKind::I8Kind, Token::I16(_) => TokenKind::I16Kind, Token::I32(_) => TokenKind::I32Kind, Token::I64(_) => TokenKind::I64Kind, - Token::Uint(_) => TokenKind::UintKind, + Token::Usize(_) => TokenKind::UsizeKind, Token::U8(_) => TokenKind::U8Kind, Token::U16(_) => TokenKind::U16Kind, Token::U32(_) => TokenKind::U32Kind, @@ -83,12 +83,12 @@ impl Token { pub enum TokenKind { NullKind, BoolKind, - IntKind, + IsizeKind, I8Kind, I16Kind, I32Kind, I64Kind, - UintKind, + UsizeKind, U8Kind, U16Kind, U32Kind, @@ -110,12 +110,12 @@ pub enum TokenKind { } static PRIMITIVE_TOKEN_KINDS: &'static [TokenKind] = &[ - TokenKind::IntKind, + TokenKind::IsizeKind, TokenKind::I8Kind, TokenKind::I16Kind, TokenKind::I32Kind, TokenKind::I64Kind, - TokenKind::UintKind, + TokenKind::UsizeKind, TokenKind::U8Kind, TokenKind::U16Kind, TokenKind::U32Kind, @@ -143,12 +143,12 @@ impl ::std::fmt::Show for TokenKind { match *self { TokenKind::NullKind => "Null".fmt(f), TokenKind::BoolKind => "Bool".fmt(f), - TokenKind::IntKind => "Int".fmt(f), + TokenKind::IsizeKind => "Isize".fmt(f), TokenKind::I8Kind => "I8".fmt(f), TokenKind::I16Kind => "I16".fmt(f), TokenKind::I32Kind => "I32".fmt(f), TokenKind::I64Kind => "I64".fmt(f), - TokenKind::UintKind => "Uint".fmt(f), + TokenKind::UsizeKind => "Usize".fmt(f), TokenKind::U8Kind => "U8".fmt(f), TokenKind::U16Kind => "U16".fmt(f), TokenKind::U32Kind => "U32".fmt(f), @@ -253,12 +253,12 @@ pub trait Deserializer: Iterator> + Sized { #[inline] fn expect_num(&mut self, token: Token) -> Result { match token { - Token::Int(x) => to_result!(num::cast(x), self.syntax_error(token, PRIMITIVE_TOKEN_KINDS)), + Token::Isize(x) => to_result!(num::cast(x), self.syntax_error(token, PRIMITIVE_TOKEN_KINDS)), Token::I8(x) => to_result!(num::cast(x), self.syntax_error(token, PRIMITIVE_TOKEN_KINDS)), Token::I16(x) => to_result!(num::cast(x), self.syntax_error(token, PRIMITIVE_TOKEN_KINDS)), Token::I32(x) => to_result!(num::cast(x), self.syntax_error(token, PRIMITIVE_TOKEN_KINDS)), Token::I64(x) => to_result!(num::cast(x), self.syntax_error(token, PRIMITIVE_TOKEN_KINDS)), - Token::Uint(x) => to_result!(num::cast(x), self.syntax_error(token, PRIMITIVE_TOKEN_KINDS)), + Token::Usize(x) => to_result!(num::cast(x), self.syntax_error(token, PRIMITIVE_TOKEN_KINDS)), Token::U8(x) => to_result!(num::cast(x), self.syntax_error(token, PRIMITIVE_TOKEN_KINDS)), Token::U16(x) => to_result!(num::cast(x), self.syntax_error(token, PRIMITIVE_TOKEN_KINDS)), Token::U32(x) => to_result!(num::cast(x), self.syntax_error(token, PRIMITIVE_TOKEN_KINDS)), @@ -272,12 +272,12 @@ pub trait Deserializer: Iterator> + Sized { #[inline] fn expect_from_primitive(&mut self, token: Token) -> Result { match token { - Token::Int(x) => to_result!(num::from_int(x), self.conversion_error(token)), + Token::Isize(x) => to_result!(num::from_int(x), self.conversion_error(token)), Token::I8(x) => to_result!(num::from_i8(x), self.conversion_error(token)), Token::I16(x) => to_result!(num::from_i16(x), self.conversion_error(token)), Token::I32(x) => to_result!(num::from_i32(x), self.conversion_error(token)), Token::I64(x) => to_result!(num::from_i64(x), self.conversion_error(token)), - Token::Uint(x) => to_result!(num::from_uint(x), self.conversion_error(token)), + Token::Usize(x) => to_result!(num::from_uint(x), self.conversion_error(token)), Token::U8(x) => to_result!(num::from_u8(x), self.conversion_error(token)), Token::U16(x) => to_result!(num::from_u16(x), self.conversion_error(token)), Token::U32(x) => to_result!(num::from_u32(x), self.conversion_error(token)), @@ -345,7 +345,7 @@ pub trait Deserializer: Iterator> + Sized { } #[inline] - fn expect_tuple_start(&mut self, token: Token) -> Result { + fn expect_tuple_start(&mut self, token: Token) -> Result { match token { Token::TupleStart(len) => Ok(len), Token::SeqStart(len) => Ok(len), @@ -401,7 +401,7 @@ pub trait Deserializer: Iterator> + Sized { #[inline] fn expect_struct_field_or_end(&mut self, fields: &'static [&'static str] - ) -> Result>, E> { + ) -> Result>, E> { match try!(self.expect_token()) { Token::End => { Ok(None) @@ -439,7 +439,7 @@ pub trait Deserializer: Iterator> + Sized { } #[inline] - fn expect_enum_start(&mut self, token: Token, name: &str, variants: &[&str]) -> Result { + fn expect_enum_start(&mut self, token: Token, name: &str, variants: &[&str]) -> Result { match token { Token::EnumStart(n, v, _) => { if name == n { @@ -481,7 +481,7 @@ pub trait Deserializer: Iterator> + Sized { } #[inline] - fn expect_seq_start(&mut self, token: Token) -> Result { + fn expect_seq_start(&mut self, token: Token) -> Result { match token { Token::TupleStart(len) => Ok(len), Token::SeqStart(len) => Ok(len), @@ -533,7 +533,7 @@ pub trait Deserializer: Iterator> + Sized { } #[inline] - fn expect_map_start(&mut self, token: Token) -> Result { + fn expect_map_start(&mut self, token: Token) -> Result { match token { Token::MapStart(len) => Ok(len), _ => { @@ -590,7 +590,7 @@ pub trait Deserializer: Iterator> + Sized { struct SeqDeserializer<'a, D: 'a, E: 'a, T> { d: &'a mut D, - len: uint, + len: usize, err: &'a mut Option, } @@ -617,7 +617,7 @@ impl< } #[inline] - fn size_hint(&self) -> (uint, option::Option) { + fn size_hint(&self) -> (usize, option::Option) { (self.len, Some(self.len)) } } @@ -626,7 +626,7 @@ impl< struct MapDeserializer<'a, D:'a, E: 'a, K, V> { d: &'a mut D, - len: uint, + len: usize, err: &'a mut option::Option, } @@ -651,7 +651,7 @@ impl< } #[inline] - fn size_hint(&self) -> (uint, option::Option) { + fn size_hint(&self) -> (usize, option::Option) { (self.len, Some(self.len)) } } @@ -682,12 +682,12 @@ macro_rules! impl_deserialize { } impl_deserialize!(bool, expect_bool); -impl_deserialize!(int, expect_num); +impl_deserialize!(isize, expect_num); impl_deserialize!(i8, expect_num); impl_deserialize!(i16, expect_num); impl_deserialize!(i32, expect_num); impl_deserialize!(i64, expect_num); -impl_deserialize!(uint, expect_num); +impl_deserialize!(usize, expect_num); impl_deserialize!(u8, expect_num); impl_deserialize!(u16, expect_num); impl_deserialize!(u32, expect_num); @@ -1094,7 +1094,7 @@ mod tests { #[derive(Clone, PartialEq, Show, RustcDecodable)] struct Inner { a: (), - b: uint, + b: usize, c: BTreeMap>, } @@ -1169,7 +1169,7 @@ mod tests { #[derive(Clone, PartialEq, Show, RustcDecodable)] enum Animal { Dog, - Frog(string::String, int) + Frog(string::String, isize) } impl, E> Deserialize for Animal { @@ -1271,12 +1271,12 @@ mod tests { vec!(Token::Null) => (), (), vec!(Token::Bool(true)) => true, bool, vec!(Token::Bool(false)) => false, bool, - vec!(Token::Int(5)) => 5, int, + vec!(Token::Isize(5)) => 5, isize, vec!(Token::I8(5)) => 5, i8, vec!(Token::I16(5)) => 5, i16, vec!(Token::I32(5)) => 5, i32, vec!(Token::I64(5)) => 5, i64, - vec!(Token::Uint(5)) => 5, uint, + vec!(Token::Usize(5)) => 5, usize, vec!(Token::U8(5)) => 5, u8, vec!(Token::U16(5)) => 5, u16, vec!(Token::U32(5)) => 5, u32, @@ -1296,11 +1296,11 @@ mod tests { vec!( Token::TupleStart(2), - Token::Int(5), + Token::Isize(5), Token::Str("a"), Token::End, - ) => (5, "a"), (int, &'static str), + ) => (5, "a"), (isize, &'static str), vec!( Token::TupleStart(3), @@ -1310,21 +1310,21 @@ mod tests { Token::End, Token::TupleStart(2), - Token::Int(5), + Token::Isize(5), Token::Str("a"), Token::End, Token::End, - ) => ((), (), (5, "a")), ((), (), (int, &'static str)) + ) => ((), (), (5, "a")), ((), (), (isize, &'static str)) ]); test_value!(test_options, [ - vec!(Token::Option(false)) => None, option::Option, + vec!(Token::Option(false)) => None, option::Option, vec!( Token::Option(true), - Token::Int(5), - ) => Some(5), option::Option + Token::Isize(5), + ) => Some(5), option::Option ]); test_value!(test_structs, [ @@ -1345,7 +1345,7 @@ mod tests { Token::Null, Token::Str("b"), - Token::Uint(5), + Token::Usize(5), Token::Str("c"), Token::MapStart(1), @@ -1377,7 +1377,7 @@ mod tests { vec!( Token::EnumStart("Animal", "Frog", 2), Token::String("Henry".to_string()), - Token::Int(349), + Token::Isize(349), Token::End, ) => Animal::Frog("Henry".to_string(), 349), Animal ]); @@ -1386,57 +1386,57 @@ mod tests { vec!( Token::SeqStart(0), Token::End, - ) => vec!(), Vec, + ) => vec!(), Vec, vec!( Token::SeqStart(3), - Token::Int(5), + Token::Isize(5), - Token::Int(6), + Token::Isize(6), - Token::Int(7), + Token::Isize(7), Token::End, - ) => vec!(5, 6, 7), Vec, + ) => vec!(5, 6, 7), Vec, vec!( Token::SeqStart(3), Token::SeqStart(1), - Token::Int(1), + Token::Isize(1), Token::End, Token::SeqStart(2), - Token::Int(2), + Token::Isize(2), - Token::Int(3), + Token::Isize(3), Token::End, Token::SeqStart(3), - Token::Int(4), + Token::Isize(4), - Token::Int(5), + Token::Isize(5), - Token::Int(6), + Token::Isize(6), Token::End, Token::End, - ) => vec!(vec!(1), vec!(2, 3), vec!(4, 5, 6)), Vec> + ) => vec!(vec!(1), vec!(2, 3), vec!(4, 5, 6)), Vec> ]); test_value!(test_treemaps, [ vec!( Token::MapStart(0), Token::End, - ) => treemap!(), BTreeMap, + ) => treemap!(), BTreeMap, vec!( Token::MapStart(2), - Token::Int(5), + Token::Isize(5), Token::String("a".to_string()), - Token::Int(6), + Token::Isize(6), Token::String("b".to_string()), Token::End, - ) => treemap!(5i => "a".to_string(), 6i => "b".to_string()), BTreeMap treemap!(5is => "a".to_string(), 6is => "b".to_string()), BTreeMap ]); } diff --git a/src/json/builder.rs b/src/json/builder.rs index 6986fd3d..843b86cc 100644 --- a/src/json/builder.rs +++ b/src/json/builder.rs @@ -93,22 +93,22 @@ mod tests { assert_eq!(value, Value::Array(Vec::new())); let value = ArrayBuilder::new() - .push(1i) - .push(2i) - .push(3i) + .push(1is) + .push(2is) + .push(3is) .unwrap(); assert_eq!(value, Value::Array(vec!(Value::Integer(1), Value::Integer(2), Value::Integer(3)))); let value = ArrayBuilder::new() - .push_array(|bld| bld.push(1i).push(2i).push(3i)) + .push_array(|bld| bld.push(1is).push(2is).push(3is)) .unwrap(); assert_eq!(value, Value::Array(vec!(Value::Array(vec!(Value::Integer(1), Value::Integer(2), Value::Integer(3)))))); let value = ArrayBuilder::new() .push_object(|bld| bld - .insert("a".to_string(), 1i) - .insert("b".to_string(), 2i)) + .insert("a".to_string(), 1is) + .insert("b".to_string(), 2is)) .unwrap(); let mut map = BTreeMap::new(); @@ -123,8 +123,8 @@ mod tests { assert_eq!(value, Value::Object(BTreeMap::new())); let value = ObjectBuilder::new() - .insert("a".to_string(), 1i) - .insert("b".to_string(), 2i) + .insert("a".to_string(), 1is) + .insert("b".to_string(), 2is) .unwrap(); let mut map = BTreeMap::new(); diff --git a/src/json/de.rs b/src/json/de.rs index b6487dfc..15a9558b 100644 --- a/src/json/de.rs +++ b/src/json/de.rs @@ -30,8 +30,8 @@ enum State { pub struct Parser { rdr: Iter, ch: Option, - line: uint, - col: uint, + line: usize, + col: usize, // A state machine is kept to make it possible to interupt and resume parsing. state_stack: Vec, buf: Vec, @@ -261,7 +261,7 @@ impl> Parser { match self.ch_or_null() { c @ b'0' ... b'9' => { dec /= 10.0; - res += (((c as int) - (b'0' as int)) as f64) * dec; + res += (((c as isize) - (b'0' as isize)) as f64) * dec; self.bump(); } _ => break, @@ -275,7 +275,7 @@ impl> Parser { fn parse_exponent(&mut self, mut res: f64) -> Result { self.bump(); - let mut exp = 0u; + let mut exp = 0us; let mut neg_exp = false; if self.ch_is(b'+') { @@ -294,7 +294,7 @@ impl> Parser { match self.ch_or_null() { c @ b'0' ... b'9' => { exp *= 10; - exp += (c as uint) - (b'0' as uint); + exp += (c as usize) - (b'0' as usize); self.bump(); } @@ -314,9 +314,9 @@ impl> Parser { #[inline] fn decode_hex_escape(&mut self) -> Result { - let mut i = 0u; + let mut i = 0us; let mut n = 0u16; - while i < 4u && !self.eof() { + while i < 4us && !self.eof() { self.bump(); n = match self.ch_or_null() { c @ b'0' ... b'9' => n * 16_u16 + ((c as u16) - (b'0' as u16)), @@ -329,11 +329,11 @@ impl> Parser { _ => { return Err(self.error(ErrorCode::InvalidEscape)); } }; - i += 1u; + i += 1us; } // Error out if we didn't parse 4 digits. - if i != 4u { + if i != 4us { return Err(self.error(ErrorCode::InvalidEscape)); } @@ -562,7 +562,7 @@ impl> de::Deserializer for Parser { fn expect_enum_start(&mut self, token: de::Token, _name: &str, - variants: &[&str]) -> Result { + variants: &[&str]) -> Result { match token { de::Token::MapStart(_) => { } _ => { return Err(self.error(ErrorCode::ExpectedEnumMapStart)); } @@ -615,7 +615,7 @@ impl> de::Deserializer for Parser { #[inline] fn expect_struct_field_or_end(&mut self, fields: &'static [&'static str] - ) -> Result>, Error> { + ) -> Result>, Error> { let result = match self.state_stack.pop() { Some(State::ObjectStart) => { try!(self.parse_object_start()) diff --git a/src/json/error.rs b/src/json/error.rs index 414d5141..7502fc34 100644 --- a/src/json/error.rs +++ b/src/json/error.rs @@ -81,7 +81,7 @@ impl fmt::Show for ErrorCode { #[derive(Clone, PartialEq, Show)] pub enum Error { /// msg, line, col - SyntaxError(ErrorCode, uint, uint), + SyntaxError(ErrorCode, usize, usize), IoError(io::IoError), ExpectedError(String, String), MissingFieldError(String), diff --git a/src/json/mod.rs b/src/json/mod.rs index a7bd74c0..b198edf4 100644 --- a/src/json/mod.rs +++ b/src/json/mod.rs @@ -362,7 +362,7 @@ mod tests { #[derive_deserialize] enum Animal { Dog, - Frog(String, Vec) + Frog(String, Vec) } impl ToJson for Animal { @@ -391,7 +391,7 @@ mod tests { #[derive_deserialize] struct Inner { a: (), - b: uint, + b: usize, c: Vec, } @@ -464,9 +464,9 @@ mod tests { #[test] fn test_write_i64() { let tests = &[ - (3i, "3"), - (-2i, "-2"), - (-1234i, "-1234"), + (3is, "3"), + (-2is, "-2"), + (-1234is, "-1234"), ]; test_encode_ok(tests); test_pretty_encode_ok(tests); @@ -643,14 +643,14 @@ mod tests { fn test_write_tuple() { test_encode_ok(&[ ( - (5i,), + (5is,), "[5]", ), ]); test_pretty_encode_ok(&[ ( - (5i,), + (5is,), concat!( "[\n", " 5\n", @@ -661,14 +661,14 @@ mod tests { test_encode_ok(&[ ( - (5i, (6i, "abc")), + (5is, (6is, "abc")), "[5,[6,\"abc\"]]", ), ]); test_pretty_encode_ok(&[ ( - (5i, (6i, "abc")), + (5is, (6is, "abc")), concat!( "[\n", " 5,\n", @@ -964,19 +964,19 @@ mod tests { ]); test_parse_ok(&[ - ("[3,1]", vec!(3i, 1)), - ("[ 3 , 1 ]", vec!(3i, 1)), + ("[3,1]", vec!(3is, 1)), + ("[ 3 , 1 ]", vec!(3is, 1)), ]); test_parse_ok(&[ - ("[[3], [1, 2]]", vec!(vec!(3i), vec!(1, 2))), + ("[[3], [1, 2]]", vec!(vec!(3is), vec!(1, 2))), ]); let v: () = from_str("[]").unwrap(); assert_eq!(v, ()); test_parse_ok(&[ - ("[1, 2, 3]", (1u, 2u, 3u)), + ("[1, 2, 3]", (1us, 2us, 3us)), ]); } @@ -992,17 +992,17 @@ mod tests { ]); test_json_deserialize_ok(&[ - vec!(3i, 1), + vec!(3is, 1), ]); test_json_deserialize_ok(&[ - vec!(vec!(3i), vec!(1, 2)), + vec!(vec!(3is), vec!(1, 2)), ]); } #[test] fn test_parse_object() { - test_parse_err::>(&[ + test_parse_err::>(&[ ("{", SyntaxError(EOFWhileParsingString, 1, 2)), ("{ ", SyntaxError(EOFWhileParsingString, 1, 3)), ("{1", SyntaxError(KeyMustBeAString, 1, 2)), @@ -1022,26 +1022,26 @@ mod tests { ("{ }", treemap!()), ( "{\"a\":3}", - treemap!("a".to_string() => 3i) + treemap!("a".to_string() => 3is) ), ( "{ \"a\" : 3 }", - treemap!("a".to_string() => 3i) + treemap!("a".to_string() => 3is) ), ( "{\"a\":3,\"b\":4}", - treemap!("a".to_string() => 3i, "b".to_string() => 4) + treemap!("a".to_string() => 3is, "b".to_string() => 4) ), ( "{ \"a\" : 3 , \"b\" : 4 }", - treemap!("a".to_string() => 3i, "b".to_string() => 4), + treemap!("a".to_string() => 3is, "b".to_string() => 4), ), ]); test_parse_ok(&[ ( "{\"a\": {\"b\": 3, \"c\": 4}}", - treemap!("a".to_string() => treemap!("b".to_string() => 3i, "c".to_string() => 4i)), + treemap!("a".to_string() => treemap!("b".to_string() => 3is, "c".to_string() => 4is)), ), ]); } @@ -1050,12 +1050,12 @@ mod tests { fn test_json_deserialize_object() { test_json_deserialize_ok(&[ treemap!(), - treemap!("a".to_string() => 3i), - treemap!("a".to_string() => 3i, "b".to_string() => 4), + treemap!("a".to_string() => 3is), + treemap!("a".to_string() => 3is, "b".to_string() => 4), ]); test_json_deserialize_ok(&[ - treemap!("a".to_string() => treemap!("b".to_string() => 3i, "c".to_string() => 4)), + treemap!("a".to_string() => treemap!("b".to_string() => 3is, "c".to_string() => 4)), ]); } @@ -1107,7 +1107,7 @@ mod tests { #[derive_serialize] #[derive_deserialize] struct Foo { - x: Option, + x: Option, } let value: Foo = from_str("{}").unwrap(); @@ -1172,7 +1172,7 @@ mod tests { #[test] fn test_multiline_errors() { test_parse_err::>(&[ - ("{\n \"foo\":\n \"bar\"", SyntaxError(EOFWhileParsingObject, 3u, 8u)), + ("{\n \"foo\":\n \"bar\"", SyntaxError(EOFWhileParsingObject, 3us, 8us)), ]); } @@ -1371,7 +1371,7 @@ mod tests { fn test_encode_hashmap_with_numeric_key() { use std::str::from_utf8; use std::collections::HashMap; - let mut hm: HashMap = HashMap::new(); + let mut hm: HashMap = HashMap::new(); hm.insert(1, true); let mut mem_buf = MemWriter::new(); { @@ -1386,7 +1386,7 @@ mod tests { fn test_prettyencode_hashmap_with_numeric_key() { use std::str::from_utf8; use std::collections::HashMap; - let mut hm: HashMap = HashMap::new(); + let mut hm: HashMap = HashMap::new(); hm.insert(1, true); let mut mem_buf = MemWriter::new(); { @@ -1402,7 +1402,7 @@ mod tests { fn test_hashmap_with_numeric_key_can_handle_double_quote_delimited_key() { use std::collections::HashMap; let json_str = "{\"1\":true}"; - let map: HashMap = from_str(json_str).unwrap(); + let map: HashMap = from_str(json_str).unwrap(); let mut m = HashMap::new(); m.insert(1u, true); assert_eq!(map, m); @@ -1715,7 +1715,7 @@ mod bench { }) } - fn json_str(count: uint) -> string::String { + fn json_str(count: usize) -> string::String { let mut src = "[".to_string(); for _ in range(0, count) { src.push_str(r#"{"a":true,"b":null,"c":3.1415,"d":"Hello world","e":[1,2,3]},"#); @@ -1724,7 +1724,7 @@ mod bench { src } - fn pretty_json_str(count: uint) -> string::String { + fn pretty_json_str(count: usize) -> string::String { let mut src = "[\n".to_string(); for _ in range(0, count) { src.push_str( @@ -1747,7 +1747,7 @@ mod bench { src } - fn encoder_json(count: uint) -> serialize::json::Json { + fn encoder_json(count: usize) -> serialize::json::Json { use serialize::json::Json; let mut list = vec!(); @@ -1768,7 +1768,7 @@ mod bench { Json::Array(list) } - fn serializer_json(count: uint) -> Value { + fn serializer_json(count: usize) -> Value { let mut list = vec!(); for _ in range(0, count) { list.push(Value::Object(treemap!( @@ -1787,7 +1787,7 @@ mod bench { Value::Array(list) } - fn bench_encoder(b: &mut Bencher, count: uint) { + fn bench_encoder(b: &mut Bencher, count: usize) { let src = json_str(count); let json = encoder_json(count); @@ -1796,7 +1796,7 @@ mod bench { }); } - fn bench_encoder_pretty(b: &mut Bencher, count: uint) { + fn bench_encoder_pretty(b: &mut Bencher, count: usize) { let src = pretty_json_str(count); let json = encoder_json(count); @@ -1805,7 +1805,7 @@ mod bench { }); } - fn bench_serializer(b: &mut Bencher, count: uint) { + fn bench_serializer(b: &mut Bencher, count: usize) { let src = json_str(count); let json = serializer_json(count); @@ -1814,7 +1814,7 @@ mod bench { }); } - fn bench_serializer_pretty(b: &mut Bencher, count: uint) { + fn bench_serializer_pretty(b: &mut Bencher, count: usize) { let src = pretty_json_str(count); let json = serializer_json(count); @@ -1823,7 +1823,7 @@ mod bench { }); } - fn bench_decoder(b: &mut Bencher, count: uint) { + fn bench_decoder(b: &mut Bencher, count: usize) { let src = json_str(count); let json = encoder_json(count); b.iter(|| { @@ -1831,7 +1831,7 @@ mod bench { }); } - fn bench_deserializer(b: &mut Bencher, count: uint) { + fn bench_deserializer(b: &mut Bencher, count: usize) { let src = json_str(count); let json = encoder_json(count); b.iter(|| { @@ -1839,7 +1839,7 @@ mod bench { }); } - fn bench_decoder_streaming(b: &mut Bencher, count: uint) { + fn bench_decoder_streaming(b: &mut Bencher, count: usize) { let src = json_str(count); b.iter( || { @@ -1878,7 +1878,7 @@ mod bench { }); } - fn bench_deserializer_streaming(b: &mut Bencher, count: uint) { + fn bench_deserializer_streaming(b: &mut Bencher, count: usize) { let src = json_str(count); b.iter( || { diff --git a/src/json/ser.rs b/src/json/ser.rs index 8eb59452..c43fc9b3 100644 --- a/src/json/ser.rs +++ b/src/json/ser.rs @@ -64,8 +64,8 @@ fn fmt_f64_or_null(wr: &mut W, v: f64) -> IoResult<()> { } } -fn spaces(wr: &mut W, mut n: uint) -> IoResult<()> { - const LEN: uint = 16; +fn spaces(wr: &mut W, mut n: usize) -> IoResult<()> { + const LEN: usize = 16; const BUF: &'static [u8; LEN] = &[b' '; LEN]; while n >= LEN { @@ -128,7 +128,7 @@ impl ser::Serializer for Serializer { } #[inline] - fn serialize_int(&mut self, v: int) -> IoResult<()> { + fn serialize_isize(&mut self, v: isize) -> IoResult<()> { write!(&mut self.wr, "{}", v) } @@ -153,7 +153,7 @@ impl ser::Serializer for Serializer { } #[inline] - fn serialize_uint(&mut self, v: uint) -> IoResult<()> { + fn serialize_usize(&mut self, v: usize) -> IoResult<()> { write!(&mut self.wr, "{}", v) } @@ -198,7 +198,7 @@ impl ser::Serializer for Serializer { } #[inline] - fn serialize_tuple_start(&mut self, _len: uint) -> IoResult<()> { + fn serialize_tuple_start(&mut self, _len: usize) -> IoResult<()> { self.first = true; self.wr.write_str("[") } @@ -221,7 +221,7 @@ impl ser::Serializer for Serializer { } #[inline] - fn serialize_struct_start(&mut self, _name: &str, _len: uint) -> IoResult<()> { + fn serialize_struct_start(&mut self, _name: &str, _len: usize) -> IoResult<()> { self.first = true; self.wr.write_str("{") } @@ -246,7 +246,7 @@ impl ser::Serializer for Serializer { } #[inline] - fn serialize_enum_start(&mut self, _name: &str, variant: &str, _len: uint) -> IoResult<()> { + fn serialize_enum_start(&mut self, _name: &str, variant: &str, _len: usize) -> IoResult<()> { self.first = true; try!(self.wr.write_str("{")); try!(self.serialize_str(variant)); @@ -329,7 +329,7 @@ impl ser::Serializer for Serializer { /// compact data pub struct PrettySerializer { wr: W, - indent: uint, + indent: usize, first: bool, } @@ -391,7 +391,7 @@ impl ser::Serializer for PrettySerializer { } #[inline] - fn serialize_int(&mut self, v: int) -> IoResult<()> { + fn serialize_isize(&mut self, v: isize) -> IoResult<()> { write!(&mut self.wr, "{}", v) } @@ -416,7 +416,7 @@ impl ser::Serializer for PrettySerializer { } #[inline] - fn serialize_uint(&mut self, v: uint) -> IoResult<()> { + fn serialize_usize(&mut self, v: usize) -> IoResult<()> { write!(&mut self.wr, "{}", v) } @@ -461,7 +461,7 @@ impl ser::Serializer for PrettySerializer { } #[inline] - fn serialize_tuple_start(&mut self, _len: uint) -> IoResult<()> { + fn serialize_tuple_start(&mut self, _len: usize) -> IoResult<()> { self.first = true; self.wr.write_str("[") } @@ -480,7 +480,7 @@ impl ser::Serializer for PrettySerializer { } #[inline] - fn serialize_struct_start(&mut self, _name: &str, _len: uint) -> IoResult<()> { + fn serialize_struct_start(&mut self, _name: &str, _len: usize) -> IoResult<()> { self.first = true; self.wr.write_str("{") } @@ -501,7 +501,7 @@ impl ser::Serializer for PrettySerializer { } #[inline] - fn serialize_enum_start(&mut self, _name: &str, variant: &str, _len: uint) -> IoResult<()> { + fn serialize_enum_start(&mut self, _name: &str, variant: &str, _len: usize) -> IoResult<()> { self.first = true; try!(self.wr.write_str("{")); try!(self.serialize_sep()); diff --git a/src/json/value.rs b/src/json/value.rs index c4c83937..c36252a7 100644 --- a/src/json/value.rs +++ b/src/json/value.rs @@ -269,12 +269,12 @@ impl, E> de::Deserialize for Value { match token { Token::Null => Ok(Value::Null), Token::Bool(x) => Ok(Value::Boolean(x)), - Token::Int(x) => Ok(Value::Integer(x as i64)), + Token::Isize(x) => Ok(Value::Integer(x as i64)), Token::I8(x) => Ok(Value::Integer(x as i64)), Token::I16(x) => Ok(Value::Integer(x as i64)), Token::I32(x) => Ok(Value::Integer(x as i64)), Token::I64(x) => Ok(Value::Integer(x)), - Token::Uint(x) => Ok(Value::Integer(x as i64)), + Token::Usize(x) => Ok(Value::Integer(x as i64)), Token::U8(x) => Ok(Value::Integer(x as i64)), Token::U16(x) => Ok(Value::Integer(x as i64)), Token::U32(x) => Ok(Value::Integer(x as i64)), @@ -439,7 +439,7 @@ impl de::Deserializer for Deserializer { fn expect_enum_start(&mut self, token: Token, _name: &str, - variants: &[&str]) -> Result { + variants: &[&str]) -> Result { let variant = match token { Token::MapStart(_) => { let state = match self.stack.pop() { @@ -536,7 +536,7 @@ impl ToJson for Value { fn to_json(&self) -> Value { (*self).clone() } } -impl ToJson for int { +impl ToJson for isize { fn to_json(&self) -> Value { Value::Integer(*self as i64) } } @@ -556,7 +556,7 @@ impl ToJson for i64 { fn to_json(&self) -> Value { Value::Integer(*self as i64) } } -impl ToJson for uint { +impl ToJson for usize { fn to_json(&self) -> Value { Value::Integer(*self as i64) } } diff --git a/src/ser.rs b/src/ser.rs index fa70f114..b0e12154 100644 --- a/src/ser.rs +++ b/src/ser.rs @@ -22,7 +22,7 @@ pub trait Serializer { fn serialize_bool(&mut self, v: bool) -> Result<(), E>; #[inline] - fn serialize_int(&mut self, v: int) -> Result<(), E> { + fn serialize_isize(&mut self, v: isize) -> Result<(), E> { self.serialize_i64(v as i64) } @@ -45,7 +45,7 @@ pub trait Serializer { fn serialize_i64(&mut self, v: i64) -> Result<(), E>; #[inline] - fn serialize_uint(&mut self, v: uint) -> Result<(), E> { + fn serialize_usize(&mut self, v: usize) -> Result<(), E> { self.serialize_u64(v as u64) } @@ -78,19 +78,19 @@ pub trait Serializer { fn serialize_str(&mut self, v: &str) -> Result<(), E>; - fn serialize_tuple_start(&mut self, len: uint) -> Result<(), E>; + fn serialize_tuple_start(&mut self, len: usize) -> Result<(), E>; fn serialize_tuple_elt< T: Serialize >(&mut self, v: &T) -> Result<(), E>; fn serialize_tuple_end(&mut self) -> Result<(), E>; - fn serialize_struct_start(&mut self, name: &str, len: uint) -> Result<(), E>; + fn serialize_struct_start(&mut self, name: &str, len: usize) -> Result<(), E>; fn serialize_struct_elt< T: Serialize >(&mut self, name: &str, v: &T) -> Result<(), E>; fn serialize_struct_end(&mut self) -> Result<(), E>; - fn serialize_enum_start(&mut self, name: &str, variant: &str, len: uint) -> Result<(), E>; + fn serialize_enum_start(&mut self, name: &str, variant: &str, len: usize) -> Result<(), E>; fn serialize_enum_elt< T: Serialize >(&mut self, v: &T) -> Result<(), E>; @@ -132,12 +132,12 @@ macro_rules! impl_serialize { } impl_serialize!(bool, serialize_bool); -impl_serialize!(int, serialize_int); +impl_serialize!(isize, serialize_isize); impl_serialize!(i8, serialize_i8); impl_serialize!(i16, serialize_i16); impl_serialize!(i32, serialize_i32); impl_serialize!(i64, serialize_i64); -impl_serialize!(uint, serialize_uint); +impl_serialize!(usize, serialize_usize); impl_serialize!(u8, serialize_u8); impl_serialize!(u16, serialize_u16); impl_serialize!(u32, serialize_u32); @@ -332,7 +332,7 @@ mod tests { #[derive_serialize] struct Inner { a: (), - b: uint, + b: usize, c: HashMap>, } @@ -350,7 +350,7 @@ mod tests { #[derive_serialize] enum Animal { Dog, - Frog(String, int) + Frog(String, isize) } ////////////////////////////////////////////////////////////////////////////// @@ -359,12 +359,12 @@ mod tests { pub enum Token<'a> { Null, Bool(bool), - Int(int), + Isize(isize), I8(i8), I16(i16), I32(i32), I64(i64), - Uint(uint), + Usize(usize), U8(u8), U16(u16), U32(u32), @@ -374,24 +374,24 @@ mod tests { Char(char), Str(&'a str), - TupleStart(uint), + TupleStart(usize), TupleSep, TupleEnd, - StructStart(&'a str, uint), + StructStart(&'a str, usize), StructSep(&'a str), StructEnd, - EnumStart(&'a str, &'a str, uint), + EnumStart(&'a str, &'a str, usize), EnumSep, EnumEnd, Option(bool), - SeqStart(uint), + SeqStart(usize), SeqEnd, - MapStart(uint), + MapStart(usize), MapEnd, } @@ -434,8 +434,8 @@ mod tests { fn serialize_bool(&mut self, v: bool) -> Result<(), Error> { self.serialize(Token::Bool(v)) } - fn serialize_int(&mut self, v: int) -> Result<(), Error> { - self.serialize(Token::Int(v)) + fn serialize_isize(&mut self, v: isize) -> Result<(), Error> { + self.serialize(Token::Isize(v)) } fn serialize_i8(&mut self, v: i8) -> Result<(), Error> { @@ -454,8 +454,8 @@ mod tests { self.serialize(Token::I64(v)) } - fn serialize_uint(&mut self, v: uint) -> Result<(), Error> { - self.serialize(Token::Uint(v)) + fn serialize_usize(&mut self, v: usize) -> Result<(), Error> { + self.serialize(Token::Usize(v)) } fn serialize_u8(&mut self, v: u8) -> Result<(), Error> { @@ -490,7 +490,7 @@ mod tests { self.serialize(Token::Str(v)) } - fn serialize_tuple_start(&mut self, len: uint) -> Result<(), Error> { + fn serialize_tuple_start(&mut self, len: usize) -> Result<(), Error> { self.serialize(Token::TupleStart(len)) } @@ -505,7 +505,7 @@ mod tests { self.serialize(Token::TupleEnd) } - fn serialize_struct_start(&mut self, name: &str, len: uint) -> Result<(), Error> { + fn serialize_struct_start(&mut self, name: &str, len: usize) -> Result<(), Error> { self.serialize(Token::StructStart(name, len)) } @@ -520,7 +520,7 @@ mod tests { self.serialize(Token::StructEnd) } - fn serialize_enum_start(&mut self, name: &str, variant: &str, len: uint) -> Result<(), Error> { + fn serialize_enum_start(&mut self, name: &str, variant: &str, len: usize) -> Result<(), Error> { self.serialize(Token::EnumStart(name, variant, len)) } @@ -581,10 +581,10 @@ mod tests { #[test] fn test_tokens_int() { let tokens = vec!( - Token::Int(5) + Token::Isize(5) ); let mut serializer = AssertSerializer::new(tokens.into_iter()); - 5i.serialize(&mut serializer).unwrap(); + 5is.serialize(&mut serializer).unwrap(); assert_eq!(serializer.iter.next(), None); } @@ -617,7 +617,7 @@ mod tests { ); let mut serializer = AssertSerializer::new(tokens.into_iter()); - None::.serialize(&mut serializer).unwrap(); + None::.serialize(&mut serializer).unwrap(); assert_eq!(serializer.iter.next(), None); } @@ -625,11 +625,11 @@ mod tests { fn test_tokens_option_some() { let tokens = vec!( Token::Option(true), - Token::Int(5), + Token::Isize(5), ); let mut serializer = AssertSerializer::new(tokens.into_iter()); - Some(5i).serialize(&mut serializer).unwrap(); + Some(5is).serialize(&mut serializer).unwrap(); assert_eq!(serializer.iter.next(), None); } @@ -638,7 +638,7 @@ mod tests { let tokens = vec!( Token::TupleStart(2), Token::TupleSep, - Token::Int(5), + Token::Isize(5), Token::TupleSep, Token::Str("a"), @@ -646,7 +646,7 @@ mod tests { ); let mut serializer = AssertSerializer::new(tokens.into_iter()); - (5i, "a").serialize(&mut serializer).unwrap(); + (5is, "a").serialize(&mut serializer).unwrap(); assert_eq!(serializer.iter.next(), None); } @@ -663,7 +663,7 @@ mod tests { Token::TupleSep, Token::TupleStart(2), Token::TupleSep, - Token::Int(5), + Token::Isize(5), Token::TupleSep, Token::Str("a"), @@ -672,7 +672,7 @@ mod tests { ); let mut serializer = AssertSerializer::new(tokens.into_iter()); - ((), (), (5i, "a")).serialize(&mut serializer).unwrap(); + ((), (), (5is, "a")).serialize(&mut serializer).unwrap(); assert_eq!(serializer.iter.next(), None); } @@ -702,7 +702,7 @@ mod tests { Token::Null, Token::StructSep("b"), - Token::Uint(5), + Token::Usize(5), Token::StructSep("c"), Token::MapStart(1), @@ -749,7 +749,7 @@ mod tests { Token::Str("Henry"), Token::EnumSep, - Token::Int(349), + Token::Isize(349), Token::EnumEnd, ); @@ -766,7 +766,7 @@ mod tests { ); let mut serializer = AssertSerializer::new(tokens.into_iter()); - let v: Vec = vec!(); + let v: Vec = vec!(); v.serialize(&mut serializer).unwrap(); assert_eq!(serializer.iter.next(), None); } @@ -775,14 +775,14 @@ mod tests { fn test_tokens_vec() { let tokens = vec!( Token::SeqStart(3), - Token::Int(5), - Token::Int(6), - Token::Int(7), + Token::Isize(5), + Token::Isize(6), + Token::Isize(7), Token::SeqEnd, ); let mut serializer = AssertSerializer::new(tokens.into_iter()); - (vec!(5i, 6, 7)).serialize(&mut serializer).unwrap(); + (vec!(5is, 6, 7)).serialize(&mut serializer).unwrap(); assert_eq!(serializer.iter.next(), None); } @@ -791,24 +791,24 @@ mod tests { let tokens = vec!( Token::SeqStart(3), Token::SeqStart(1), - Token::Int(1), + Token::Isize(1), Token::SeqEnd, Token::SeqStart(2), - Token::Int(2), - Token::Int(3), + Token::Isize(2), + Token::Isize(3), Token::SeqEnd, Token::SeqStart(3), - Token::Int(4), - Token::Int(5), - Token::Int(6), + Token::Isize(4), + Token::Isize(5), + Token::Isize(6), Token::SeqEnd, Token::SeqEnd, ); let mut serializer = AssertSerializer::new(tokens.into_iter()); - (vec!(vec!(1i), vec!(2, 3), vec!(4, 5, 6))).serialize(&mut serializer).unwrap(); + (vec!(vec!(1is), vec!(2, 3), vec!(4, 5, 6))).serialize(&mut serializer).unwrap(); assert_eq!(serializer.iter.next(), None); } @@ -816,10 +816,10 @@ mod tests { fn test_tokens_treemap() { let tokens = vec!( Token::MapStart(2), - Token::Int(5), + Token::Isize(5), Token::Str("a"), - Token::Int(6), + Token::Isize(6), Token::Str("b"), Token::MapEnd, ); @@ -827,8 +827,8 @@ mod tests { let mut serializer = AssertSerializer::new(tokens.into_iter()); let mut map = BTreeMap::new(); - map.insert(5i, "a".to_string()); - map.insert(6i, "b".to_string()); + map.insert(5is, "a".to_string()); + map.insert(6is, "b".to_string()); map.serialize(&mut serializer).unwrap(); assert_eq!(serializer.iter.next(), None); diff --git a/tests/json_struct.rs b/tests/json_struct.rs index 793afd06..91b68c57 100644 --- a/tests/json_struct.rs +++ b/tests/json_struct.rs @@ -12,7 +12,7 @@ struct Test { schema: String, title: String, #[serial_name = "type"] - ty: int + ty: isize } #[test] From 3022d7301a0def12dd88e5dc0a2a95812ed8da70 Mon Sep 17 00:00:00 2001 From: Thomas Bahn Date: Fri, 6 Feb 2015 14:08:02 +0100 Subject: [PATCH 03/16] Use deref coercions when possible --- benches/bench_log.rs | 28 ++++++++++++++-------------- serde2/benches/bench_log.rs | 20 ++++++++++---------- serde2/serde2_macros/src/lib.rs | 6 +++--- serde2/src/de.rs | 2 +- serde2/src/json/de.rs | 4 ++-- serde2/src/json/error.rs | 2 +- serde2/src/json/value.rs | 2 +- serde_macros/src/lib.rs | 14 +++++++------- src/json/de.rs | 4 ++-- src/json/error.rs | 2 +- src/json/mod.rs | 12 ++++++------ src/json/ser.rs | 4 ++-- src/json/value.rs | 6 +++--- tests/json_struct.rs | 2 +- 14 files changed, 54 insertions(+), 54 deletions(-) diff --git a/benches/bench_log.rs b/benches/bench_log.rs index 1cc441d0..0954cba9 100755 --- a/benches/bench_log.rs +++ b/benches/bench_log.rs @@ -937,19 +937,19 @@ fn manual_serialize_escape(wr: &mut W, log: &Log) { wr.write_str(",").unwrap(); escape_str(wr, "content_type").unwrap(); wr.write_str(":").unwrap(); - escape_str(wr, log.http.content_type.as_slice()).unwrap(); + escape_str(wr, &log.http.content_type).unwrap(); wr.write_str(",").unwrap(); escape_str(wr, "user_agent").unwrap(); wr.write_str(":").unwrap(); - escape_str(wr, log.http.user_agent.as_slice()).unwrap(); + escape_str(wr, &log.http.user_agent).unwrap(); wr.write_str(",").unwrap(); escape_str(wr, "referer").unwrap(); wr.write_str(":").unwrap(); - escape_str(wr, log.http.referer.as_slice()).unwrap(); + escape_str(wr, &log.http.referer).unwrap(); wr.write_str(",").unwrap(); escape_str(wr, "request_uri").unwrap(); wr.write_str(":").unwrap(); - escape_str(wr, log.http.request_uri.as_slice()).unwrap(); + escape_str(wr, &log.http.request_uri).unwrap(); wr.write_str("},").unwrap(); escape_str(wr, "origin").unwrap(); @@ -957,7 +957,7 @@ fn manual_serialize_escape(wr: &mut W, log: &Log) { escape_str(wr, "ip").unwrap(); wr.write_str(":").unwrap(); - escape_str(wr, log.origin.ip.as_slice()).unwrap(); + escape_str(wr, &log.origin.ip).unwrap(); wr.write_str(",").unwrap(); escape_str(wr, "port").unwrap(); wr.write_str(":").unwrap(); @@ -965,7 +965,7 @@ fn manual_serialize_escape(wr: &mut W, log: &Log) { wr.write_str(",").unwrap(); escape_str(wr, "hostname").unwrap(); wr.write_str(":").unwrap(); - escape_str(wr, log.origin.hostname.as_slice()).unwrap(); + escape_str(wr, &log.origin.hostname).unwrap(); wr.write_str(",").unwrap(); escape_str(wr, "protocol").unwrap(); wr.write_str(":").unwrap(); @@ -982,15 +982,15 @@ fn manual_serialize_escape(wr: &mut W, log: &Log) { wr.write_str(",").unwrap(); escape_str(wr, "server_ip").unwrap(); wr.write_str(":").unwrap(); - escape_str(wr, log.server_ip.as_slice()).unwrap(); + escape_str(wr, &log.server_ip).unwrap(); wr.write_str(",").unwrap(); escape_str(wr, "server_name").unwrap(); wr.write_str(":").unwrap(); - escape_str(wr, log.server_name.as_slice()).unwrap(); + escape_str(wr, &log.server_name).unwrap(); wr.write_str(",").unwrap(); escape_str(wr, "remote_ip").unwrap(); wr.write_str(":").unwrap(); - escape_str(wr, log.remote_ip.as_slice()).unwrap(); + escape_str(wr, &log.remote_ip).unwrap(); wr.write_str(",").unwrap(); escape_str(wr, "bytes_dlv").unwrap(); wr.write_str(":").unwrap(); @@ -999,7 +999,7 @@ fn manual_serialize_escape(wr: &mut W, log: &Log) { wr.write_str(",").unwrap(); escape_str(wr, "ray_id").unwrap(); wr.write_str(":").unwrap(); - escape_str(wr, log.ray_id.as_slice()).unwrap(); + escape_str(wr, &log.ray_id).unwrap(); wr.write_str("}").unwrap(); } @@ -1172,11 +1172,11 @@ fn direct(wr: &mut W, log: &Log) { serializer.serialize_struct_elt("origin", &log.origin).unwrap(); serializer.serialize_struct_elt("country", &(log.country as usize)).unwrap(); serializer.serialize_struct_elt("cache_status", &(log.cache_status as usize)).unwrap(); - serializer.serialize_struct_elt("server_ip", &log.server_ip.as_slice()).unwrap(); - serializer.serialize_struct_elt("server_name", &log.server_name.as_slice()).unwrap(); - serializer.serialize_struct_elt("remote_ip", &log.remote_ip.as_slice()).unwrap(); + serializer.serialize_struct_elt("server_ip", &log.server_ip).unwrap(); + serializer.serialize_struct_elt("server_name", &log.server_name).unwrap(); + serializer.serialize_struct_elt("remote_ip", &log.remote_ip).unwrap(); serializer.serialize_struct_elt("bytes_dlv", &log.bytes_dlv).unwrap(); - serializer.serialize_struct_elt("ray_id", &log.ray_id.as_slice()).unwrap(); + serializer.serialize_struct_elt("ray_id", &log.ray_id).unwrap(); serializer.serialize_struct_end().unwrap(); } diff --git a/serde2/benches/bench_log.rs b/serde2/benches/bench_log.rs index 5e06e3f1..8acbde86 100644 --- a/serde2/benches/bench_log.rs +++ b/serde2/benches/bench_log.rs @@ -1247,19 +1247,19 @@ fn manual_serialize_escape(wr: &mut W, log: &Log) { wr.write_str(",").unwrap(); escape_str(wr, "content_type").unwrap(); wr.write_str(":").unwrap(); - escape_str(wr, log.http.content_type.as_slice()).unwrap(); + escape_str(wr, &log.http.content_type).unwrap(); wr.write_str(",").unwrap(); escape_str(wr, "user_agent").unwrap(); wr.write_str(":").unwrap(); - escape_str(wr, log.http.user_agent.as_slice()).unwrap(); + escape_str(wr, &log.http.user_agent).unwrap(); wr.write_str(",").unwrap(); escape_str(wr, "referer").unwrap(); wr.write_str(":").unwrap(); - escape_str(wr, log.http.referer.as_slice()).unwrap(); + escape_str(wr, &log.http.referer).unwrap(); wr.write_str(",").unwrap(); escape_str(wr, "request_uri").unwrap(); wr.write_str(":").unwrap(); - escape_str(wr, log.http.request_uri.as_slice()).unwrap(); + escape_str(wr, &log.http.request_uri).unwrap(); wr.write_str("},").unwrap(); escape_str(wr, "origin").unwrap(); @@ -1267,7 +1267,7 @@ fn manual_serialize_escape(wr: &mut W, log: &Log) { escape_str(wr, "ip").unwrap(); wr.write_str(":").unwrap(); - escape_str(wr, log.origin.ip.as_slice()).unwrap(); + escape_str(wr, &log.origin.ip).unwrap(); wr.write_str(",").unwrap(); escape_str(wr, "port").unwrap(); wr.write_str(":").unwrap(); @@ -1275,7 +1275,7 @@ fn manual_serialize_escape(wr: &mut W, log: &Log) { wr.write_str(",").unwrap(); escape_str(wr, "hostname").unwrap(); wr.write_str(":").unwrap(); - escape_str(wr, log.origin.hostname.as_slice()).unwrap(); + escape_str(wr, &log.origin.hostname).unwrap(); wr.write_str(",").unwrap(); escape_str(wr, "protocol").unwrap(); wr.write_str(":").unwrap(); @@ -1292,15 +1292,15 @@ fn manual_serialize_escape(wr: &mut W, log: &Log) { wr.write_str(",").unwrap(); escape_str(wr, "server_ip").unwrap(); wr.write_str(":").unwrap(); - escape_str(wr, log.server_ip.as_slice()).unwrap(); + escape_str(wr, &log.server_ip).unwrap(); wr.write_str(",").unwrap(); escape_str(wr, "server_name").unwrap(); wr.write_str(":").unwrap(); - escape_str(wr, log.server_name.as_slice()).unwrap(); + escape_str(wr, &log.server_name).unwrap(); wr.write_str(",").unwrap(); escape_str(wr, "remote_ip").unwrap(); wr.write_str(":").unwrap(); - escape_str(wr, log.remote_ip.as_slice()).unwrap(); + escape_str(wr, &log.remote_ip).unwrap(); wr.write_str(",").unwrap(); escape_str(wr, "bytes_dlv").unwrap(); wr.write_str(":").unwrap(); @@ -1309,7 +1309,7 @@ fn manual_serialize_escape(wr: &mut W, log: &Log) { wr.write_str(",").unwrap(); escape_str(wr, "ray_id").unwrap(); wr.write_str(":").unwrap(); - escape_str(wr, log.ray_id.as_slice()).unwrap(); + escape_str(wr, &log.ray_id).unwrap(); wr.write_str("}").unwrap(); } diff --git a/serde2/serde2_macros/src/lib.rs b/serde2/serde2_macros/src/lib.rs index 7ea7ce24..52dfe2a5 100644 --- a/serde2/serde2_macros/src/lib.rs +++ b/serde2/serde2_macros/src/lib.rs @@ -315,7 +315,7 @@ fn deserialize_substructure(cx: &mut ExtCtxt, span: Span, cx, span, substr.type_ident, - fields.as_slice(), + &fields, deserializer, token) } @@ -460,7 +460,7 @@ fn deserialize_struct_from_map( { let key = match token { ::serde2::de::Str(s) => s, - ::serde2::de::String(ref s) => s.as_slice(), + ::serde2::de::String(ref s) => &s, token => { let expected_tokens = [ ::serde2::de::StrKind, @@ -552,7 +552,7 @@ fn deserialize_static_fields( getarg( cx, span, - token::intern_and_get_ident(format!("_field{}", i).as_slice()) + token::intern_and_get_ident(&format!("_field{}", i)) ) }).collect(); diff --git a/serde2/src/de.rs b/serde2/src/de.rs index e4ded309..6acd2e74 100644 --- a/serde2/src/de.rs +++ b/serde2/src/de.rs @@ -139,7 +139,7 @@ pub trait Visitor { fn visit_string< E: Error, >(&mut self, v: String) -> Result { - self.visit_str(&v[]) + self.visit_str(&v) } fn visit_unit< diff --git a/serde2/src/json/de.rs b/serde2/src/json/de.rs index db0fc1a1..609004b6 100644 --- a/serde2/src/json/de.rs +++ b/serde2/src/json/de.rs @@ -106,7 +106,7 @@ impl> Parser { b'0' ... b'9' | b'-' => self.parse_number(visitor), b'"' => { try!(self.parse_string()); - let s = str::from_utf8(self.buf.as_slice()).unwrap(); + let s = str::from_utf8(&self.buf).unwrap(); visitor.visit_str(s) } b'[' => { @@ -334,7 +334,7 @@ impl> Parser { } let buf = &[n1, try!(self.decode_hex_escape())]; - match ::unicode::str::utf16_items(buf.as_slice()).next() { + match ::unicode::str::utf16_items(buf).next() { Some(Utf16Item::ScalarValue(c)) => c, _ => { return Err(self.error(ErrorCode::LoneLeadingSurrogateInHexEscape)); diff --git a/serde2/src/json/error.rs b/serde2/src/json/error.rs index a850d9a4..b9b4b41b 100644 --- a/serde2/src/json/error.rs +++ b/serde2/src/json/error.rs @@ -93,7 +93,7 @@ impl error::Error for Error { Error::SyntaxError(..) => "syntax error", Error::IoError(ref error) => error.description(), /* - Error::ExpectedError(ref expected, _) => expected.as_slice(), + Error::ExpectedError(ref expected, _) => &expected, Error::MissingFieldError(_) => "missing field", Error::UnknownVariantError(_) => "unknown variant", */ diff --git a/serde2/src/json/value.rs b/serde2/src/json/value.rs index 4d0cbbc9..c6d49e5b 100644 --- a/serde2/src/json/value.rs +++ b/serde2/src/json/value.rs @@ -35,7 +35,7 @@ impl ser::Serialize for Value { visitor.visit_f64(v) } Value::String(ref v) => { - visitor.visit_str(v.as_slice()) + visitor.visit_str(&v) } Value::Array(ref v) => { v.visit(visitor) diff --git a/serde_macros/src/lib.rs b/serde_macros/src/lib.rs index 86892efa..201b551d 100644 --- a/serde_macros/src/lib.rs +++ b/serde_macros/src/lib.rs @@ -143,7 +143,7 @@ fn serialize_substructure(cx: &ExtCtxt, let name = match (serial_name, name) { (Some(serial), _) => serial.clone(), (None, Some(id)) => token::get_ident(id), - (None, None) => token::intern_and_get_ident(format!("_field{}", i).as_slice()), + (None, None) => token::intern_and_get_ident(&format!("_field{}", i)), }; let name = cx.expr_str(span, name); @@ -261,7 +261,7 @@ fn deserialize_substructure(cx: &mut ExtCtxt, cx, span, substr.type_ident, - definition.fields.as_slice(), + &definition.fields, fields, deserializer.clone(), token) @@ -271,8 +271,8 @@ fn deserialize_substructure(cx: &mut ExtCtxt, cx, span, substr.type_ident, - definition.variants.as_slice(), - fields.as_slice(), + &definition.variants, + &fields, deserializer, token) } @@ -300,7 +300,7 @@ fn deserialize_struct( let field_idents: Vec = fields.iter() .enumerate() .map(|(idx, _)| { - cx.ident_of(format!("field{}", idx).as_slice()) + cx.ident_of(&format!("field{}", idx)) }) .collect(); @@ -415,7 +415,7 @@ fn deserialize_enum( cx, span, path, - serial_names.as_slice(), + &serial_names, parts, |&: cx, _, _| { quote_expr!(cx, try!($deserializer.expect_enum_elt())) @@ -461,7 +461,7 @@ fn deserialize_static_fields( getarg( cx, span, - token::intern_and_get_ident(format!("_field{}", i).as_slice()) + token::intern_and_get_ident(&format!("_field{}", i)) ) }).collect(); diff --git a/src/json/de.rs b/src/json/de.rs index 15a9558b..f69425b7 100644 --- a/src/json/de.rs +++ b/src/json/de.rs @@ -381,7 +381,7 @@ impl> Parser { } let buf = &[n1, try!(self.decode_hex_escape())]; - match ::unicode::str::utf16_items(buf.as_slice()).next() { + match ::unicode::str::utf16_items(buf).next() { Some(Utf16Item::ScalarValue(c)) => c, _ => { return Err(self.error(ErrorCode::LoneLeadingSurrogateInHexEscape)); @@ -410,7 +410,7 @@ impl> Parser { match ch { b'"' => { self.bump(); - return Ok(str::from_utf8(self.buf.as_slice()).unwrap()); + return Ok(str::from_utf8(&self.buf).unwrap()); } b'\\' => { escape = true; diff --git a/src/json/error.rs b/src/json/error.rs index 7502fc34..6341eac8 100644 --- a/src/json/error.rs +++ b/src/json/error.rs @@ -93,7 +93,7 @@ impl error::Error for Error { match *self { Error::SyntaxError(..) => "syntax error", Error::IoError(ref error) => error.description(), - Error::ExpectedError(ref expected, _) => expected.as_slice(), + Error::ExpectedError(ref expected, _) => &expected, Error::MissingFieldError(_) => "missing field", Error::UnknownVariantError(_) => "unknown variant", } diff --git a/src/json/mod.rs b/src/json/mod.rs index b198edf4..707e9d76 100644 --- a/src/json/mod.rs +++ b/src/json/mod.rs @@ -232,7 +232,7 @@ fn main() { // To deserialize use the `json::from_str` function. - let deserialized_object: TestStruct1 = match json::from_str(serialized_str.as_slice()) { + let deserialized_object: TestStruct1 = match json::from_str(&serialized_str) { Ok(deserialized_object) => deserialized_object, Err(e) => panic!("json deserialization error: {:?}", e), }; @@ -1379,7 +1379,7 @@ mod tests { hm.serialize(&mut serializer).unwrap(); } let bytes = mem_buf.unwrap(); - let json_str = from_utf8(bytes.as_slice()).unwrap(); + let json_str = from_utf8(&bytes).unwrap(); let _json_value: Value = from_str(json_str).unwrap(); } #[test] @@ -1394,7 +1394,7 @@ mod tests { hm.serialize(&mut serializer).unwrap() } let bytes = mem_buf.unwrap(); - let json_str = from_utf8(bytes.as_slice()).unwrap(); + let json_str = from_utf8(&bytes).unwrap(); let _json_value: Value = from_str(json_str).unwrap(); } @@ -1419,7 +1419,7 @@ mod tests { None => { break; } }; let (ref expected_evt, ref expected_stack) = expected[i]; - if !parser.stack().is_equal_to(expected_stack.as_slice()) { + if !parser.stack().is_equal_to(&expected_stack) { panic!("Parser stack is not equal to {}", expected_stack); } assert_eq!(&evt, expected_evt); @@ -1827,7 +1827,7 @@ mod bench { let src = json_str(count); let json = encoder_json(count); b.iter(|| { - assert_eq!(json, serialize::json::from_str(src.as_slice()).unwrap()); + assert_eq!(json, serialize::json::from_str(&src).unwrap()); }); } @@ -1835,7 +1835,7 @@ mod bench { let src = json_str(count); let json = encoder_json(count); b.iter(|| { - assert_eq!(json, serialize::json::from_str(src.as_slice()).unwrap()); + assert_eq!(json, serialize::json::from_str(&src).unwrap()); }); } diff --git a/src/json/ser.rs b/src/json/ser.rs index c43fc9b3..5b11f885 100644 --- a/src/json/ser.rs +++ b/src/json/ser.rs @@ -53,14 +53,14 @@ fn escape_char(wr: &mut W, v: char) -> IoResult<()> { fn fmt_f32_or_null(wr: &mut W, v: f32) -> IoResult<()> { match v.classify() { FpCategory::Nan | FpCategory::Infinite => wr.write_str("null"), - _ => wr.write_str(f32::to_str_digits(v, 6).as_slice()), + _ => wr.write_str(&f32::to_str_digits(v, 6)), } } fn fmt_f64_or_null(wr: &mut W, v: f64) -> IoResult<()> { match v.classify() { FpCategory::Nan | FpCategory::Infinite => wr.write_str("null"), - _ => wr.write_str(f64::to_str_digits(v, 6).as_slice()), + _ => wr.write_str(&f64::to_str_digits(v, 6)), } } diff --git a/src/json/value.rs b/src/json/value.rs index c36252a7..d3abaecc 100644 --- a/src/json/value.rs +++ b/src/json/value.rs @@ -43,7 +43,7 @@ impl Value { pub fn to_pretty_string(&self) -> String { let mut wr = Vec::new(); self.to_pretty_writer(wr.by_ref()).unwrap(); - str::from_utf8(wr.as_slice()).unwrap().to_string() + str::from_utf8(&wr).unwrap().to_string() } /// If the Json value is an Object, returns the value associated with the provided key. @@ -130,7 +130,7 @@ impl Value { /// Returns None otherwise. pub fn as_string<'a>(&'a self) -> Option<&'a str> { match *self { - Value::String(ref s) => Some(s.as_slice()), + Value::String(ref s) => Some(&s), _ => None } } @@ -212,7 +212,7 @@ impl ToString for Value { fn to_string(&self) -> String { let mut wr = Vec::new(); self.to_writer(wr.by_ref()).unwrap(); - str::from_utf8(wr.as_slice()).unwrap().to_string() + str::from_utf8(&wr).unwrap().to_string() } } diff --git a/tests/json_struct.rs b/tests/json_struct.rs index 91b68c57..770439ff 100644 --- a/tests/json_struct.rs +++ b/tests/json_struct.rs @@ -26,6 +26,6 @@ fn test_json_struct() { let s = serde::json::to_string(&input).unwrap(); assert_eq!(s.as_slice(), r#"{"$schema":"a","title":"b","type":3}"#); - let output: Test = serde::json::from_str(s.as_slice()).unwrap(); + let output: Test = serde::json::from_str(&s).unwrap(); assert_eq!(input, output); } From 5dd077969cd140caa65d67bec3f87cef9304b43e Mon Sep 17 00:00:00 2001 From: Thomas Bahn Date: Fri, 6 Feb 2015 15:17:24 +0100 Subject: [PATCH 04/16] Use slicing syntax instead of `.as_slice()` --- benches/bench_log.rs | 32 ++++++++++++++++---------------- serde2/benches/bench_log.rs | 20 ++++++++++---------- serde2/serde2_macros/src/lib.rs | 2 +- serde2/src/json/de.rs | 2 +- serde2/src/json/ser.rs | 4 ++-- serde2/src/ser.rs | 4 ++-- serde_macros/src/lib.rs | 2 +- src/de.rs | 6 +++--- src/json/de.rs | 6 +++--- src/json/ser.rs | 6 +++--- src/json/value.rs | 2 +- src/ser.rs | 2 +- tests/json_struct.rs | 2 +- 13 files changed, 45 insertions(+), 45 deletions(-) diff --git a/benches/bench_log.rs b/benches/bench_log.rs index 0954cba9..f49e37e4 100755 --- a/benches/bench_log.rs +++ b/benches/bench_log.rs @@ -681,7 +681,7 @@ fn test_encoder() { log.encode(&mut encoder).unwrap(); } - assert_eq!(wr.as_slice(), JSON_STR.as_bytes()); + assert_eq!(&wr[], JSON_STR.as_bytes()); } #[bench] @@ -780,7 +780,7 @@ fn test_serializer_my_mem_writer0() { log.serialize(&mut serializer).unwrap(); } - assert_eq!(wr.buf.as_slice(), JSON_STR.as_bytes()); + assert_eq!(&wr.buf[], JSON_STR.as_bytes()); } #[bench] @@ -811,7 +811,7 @@ fn test_serializer_my_mem_writer1() { log.serialize(&mut serializer).unwrap(); } - assert_eq!(wr.buf.as_slice(), JSON_STR.as_bytes()); + assert_eq!(&wr.buf[], JSON_STR.as_bytes()); } #[bench] @@ -1011,7 +1011,7 @@ fn test_manual_serialize_vec_no_escape() { manual_serialize_no_escape(&mut wr, &log); let json = String::from_utf8(wr).unwrap(); - assert_eq!(JSON_STR, json.as_slice()); + assert_eq!(JSON_STR, &json[]); } #[bench] @@ -1036,7 +1036,7 @@ fn test_manual_serialize_vec_escape() { manual_serialize_escape(&mut wr, &log); let json = String::from_utf8(wr).unwrap(); - assert_eq!(JSON_STR, json.as_slice()); + assert_eq!(JSON_STR, &json[]); } #[bench] @@ -1062,7 +1062,7 @@ fn test_manual_serialize_my_mem_writer0_no_escape() { manual_serialize_no_escape(&mut wr, &log); let json = String::from_utf8(wr.buf).unwrap(); - assert_eq!(JSON_STR, json.as_slice()); + assert_eq!(JSON_STR, &json[]); } #[bench] @@ -1088,7 +1088,7 @@ fn test_manual_serialize_my_mem_writer0_escape() { manual_serialize_escape(&mut wr, &log); let json = String::from_utf8(wr.buf).unwrap(); - assert_eq!(JSON_STR, json.as_slice()); + assert_eq!(JSON_STR, &json[]); } #[bench] @@ -1114,7 +1114,7 @@ fn test_manual_serialize_my_mem_writer1_no_escape() { manual_serialize_no_escape(&mut wr, &log); let json = String::from_utf8(wr.buf).unwrap(); - assert_eq!(JSON_STR, json.as_slice()); + assert_eq!(JSON_STR, &json[]); } #[bench] @@ -1140,7 +1140,7 @@ fn test_manual_serialize_my_mem_writer1_escape() { manual_serialize_escape(&mut wr, &log); let json = String::from_utf8(wr.buf).unwrap(); - assert_eq!(JSON_STR, json.as_slice()); + assert_eq!(JSON_STR, &json[]); } #[bench] @@ -1189,7 +1189,7 @@ fn test_direct_vec() { direct(&mut wr, &log); let json = String::from_utf8(wr).unwrap(); - assert_eq!(JSON_STR, json.as_slice()); + assert_eq!(JSON_STR, &json[]); } #[bench] @@ -1214,7 +1214,7 @@ fn test_direct_my_mem_writer0() { direct(&mut wr, &log); let json = String::from_utf8(wr.buf).unwrap(); - assert_eq!(JSON_STR, json.as_slice()); + assert_eq!(JSON_STR, &json[]); } #[bench] @@ -1240,7 +1240,7 @@ fn test_direct_my_mem_writer1() { direct(&mut wr, &log); let json = String::from_utf8(wr.buf).unwrap(); - assert_eq!(JSON_STR, json.as_slice()); + assert_eq!(JSON_STR, &json[]); } #[bench] @@ -1291,7 +1291,7 @@ fn test_deserializer() { #[inline] fn manual_reader_ignore(rdr: &mut R, buf: &mut [u8], key: &[u8]) { - let buf = buf.slice_mut(0, key.len()); + let buf = &mut buf[0..key.len()]; rdr.read(buf).unwrap(); assert_eq!(buf, key); } @@ -1350,7 +1350,7 @@ fn manual_reader_string(rdr: &mut R, buf: &mut [u8], key: &[u8]) -> S let b = rdr.read_byte().unwrap(); assert!(b == b',' || b == b']' || b == b'}'); - String::from_utf8(buf.slice_to(idx).to_vec()).unwrap() + String::from_utf8(buf[..idx].to_vec()).unwrap() } #[inline] @@ -1432,7 +1432,7 @@ fn manual_reader_deserialize(rdr: &mut R) -> Log { #[inline] fn manual_iter_ignore>(mut rdr: R, buf: &mut [u8], key: &[u8]) { - let buf = buf.slice_mut(0, key.len()); + let buf = &mut buf[0..key.len()]; for idx in range(0, key.len()) { buf[idx] = rdr.next().unwrap(); @@ -1494,7 +1494,7 @@ fn manual_iter_string>(mut rdr: R, buf: &mut [u8], key: &[u let b = rdr.next().unwrap(); assert!(b == b',' || b == b']' || b == b'}'); - String::from_utf8(buf.slice_to(idx).to_vec()).unwrap() + String::from_utf8(buf[..idx].to_vec()).unwrap() } #[inline] diff --git a/serde2/benches/bench_log.rs b/serde2/benches/bench_log.rs index 8acbde86..b6590dac 100644 --- a/serde2/benches/bench_log.rs +++ b/serde2/benches/bench_log.rs @@ -989,7 +989,7 @@ fn test_encoder() { log.encode(&mut encoder).unwrap(); } - assert_eq!(wr.as_slice(), JSON_STR.as_bytes()); + assert_eq!(&wr[], JSON_STR.as_bytes()); } #[bench] @@ -1039,7 +1039,7 @@ fn test_serializer_vec() { serializer.visit(&log).unwrap(); let json = serializer.into_inner(); - assert_eq!(json.as_slice(), JSON_STR.as_bytes()); + assert_eq!(&json[], JSON_STR.as_bytes()); } #[bench] @@ -1089,7 +1089,7 @@ fn test_serializer_my_mem_writer0() { let _json = serializer.into_inner(); } - assert_eq!(wr.buf.as_slice(), JSON_STR.as_bytes()); + assert_eq!(&wr.buf[], JSON_STR.as_bytes()); } #[bench] @@ -1121,7 +1121,7 @@ fn test_serializer_my_mem_writer1() { let _json = serializer.into_inner(); } - assert_eq!(wr.buf.as_slice(), JSON_STR.as_bytes()); + assert_eq!(&wr.buf[], JSON_STR.as_bytes()); } #[bench] @@ -1321,7 +1321,7 @@ fn test_manual_serialize_vec_no_escape() { manual_serialize_no_escape(&mut wr, &log); let json = String::from_utf8(wr).unwrap(); - assert_eq!(JSON_STR, json.as_slice()); + assert_eq!(JSON_STR, &json[]); } #[bench] @@ -1346,7 +1346,7 @@ fn test_manual_serialize_vec_escape() { manual_serialize_escape(&mut wr, &log); let json = String::from_utf8(wr).unwrap(); - assert_eq!(JSON_STR, json.as_slice()); + assert_eq!(JSON_STR, &json[]); } #[bench] @@ -1372,7 +1372,7 @@ fn test_manual_serialize_my_mem_writer0_no_escape() { manual_serialize_no_escape(&mut wr, &log); let json = String::from_utf8(wr.buf).unwrap(); - assert_eq!(JSON_STR, json.as_slice()); + assert_eq!(JSON_STR, &json[]); } #[bench] @@ -1398,7 +1398,7 @@ fn test_manual_serialize_my_mem_writer0_escape() { manual_serialize_escape(&mut wr, &log); let json = String::from_utf8(wr.buf).unwrap(); - assert_eq!(JSON_STR, json.as_slice()); + assert_eq!(JSON_STR, &json[]); } #[bench] @@ -1424,7 +1424,7 @@ fn test_manual_serialize_my_mem_writer1_no_escape() { manual_serialize_no_escape(&mut wr, &log); let json = String::from_utf8(wr.buf).unwrap(); - assert_eq!(JSON_STR, json.as_slice()); + assert_eq!(JSON_STR, &json[]); } #[bench] @@ -1450,7 +1450,7 @@ fn test_manual_serialize_my_mem_writer1_escape() { manual_serialize_escape(&mut wr, &log); let json = String::from_utf8(wr.buf).unwrap(); - assert_eq!(JSON_STR, json.as_slice()); + assert_eq!(JSON_STR, &json[]); } #[bench] diff --git a/serde2/serde2_macros/src/lib.rs b/serde2/serde2_macros/src/lib.rs index 52dfe2a5..5bd233fa 100644 --- a/serde2/serde2_macros/src/lib.rs +++ b/serde2/serde2_macros/src/lib.rs @@ -402,7 +402,7 @@ fn deserialize_struct_from_map( ) -> P { let fields = match *fields { Unnamed(_) => fail!(), - Named(ref fields) => fields.as_slice(), + Named(ref fields) => &fields[], }; // Declare each field. diff --git a/serde2/src/json/de.rs b/serde2/src/json/de.rs index 609004b6..bd6a6e4e 100644 --- a/serde2/src/json/de.rs +++ b/serde2/src/json/de.rs @@ -352,7 +352,7 @@ impl> Parser { let buf = &mut [0; 4]; let len = c.encode_utf8(buf).unwrap_or(0); - self.buf.extend(buf.slice_to(len).iter().map(|b| *b)); + self.buf.extend(buf[..len].iter().map(|b| *b)); } _ => { return Err(self.error(ErrorCode::InvalidEscape)); diff --git a/serde2/src/json/ser.rs b/serde2/src/json/ser.rs index d51b2db8..0749a42a 100644 --- a/serde2/src/json/ser.rs +++ b/serde2/src/json/ser.rs @@ -206,7 +206,7 @@ pub fn escape_bytes(wr: &mut W, bytes: &[u8]) -> Result<(), IoErr }; if start < i { - try!(wr.write(bytes.slice(start, i))); + try!(wr.write(&bytes[start..i])); } try!(wr.write_str(escaped)); @@ -215,7 +215,7 @@ pub fn escape_bytes(wr: &mut W, bytes: &[u8]) -> Result<(), IoErr } if start != bytes.len() { - try!(wr.write(bytes.slice_from(start))); + try!(wr.write(&bytes[start..])); } wr.write_str("\"") diff --git a/serde2/src/ser.rs b/serde2/src/ser.rs index bf6ac6de..7f3ae6bb 100644 --- a/serde2/src/ser.rs +++ b/serde2/src/ser.rs @@ -239,7 +239,7 @@ impl Serialize for String { fn visit< V: Visitor, >(&self, visitor: &mut V) -> Result { - self.as_slice().visit(visitor) + (&self[]).visit(visitor) } } @@ -321,7 +321,7 @@ impl< fn visit< V: Visitor, >(&self, visitor: &mut V) -> Result { - self.as_slice().visit(visitor) + (&self[]).visit(visitor) } } diff --git a/serde_macros/src/lib.rs b/serde_macros/src/lib.rs index 201b551d..ab8314ab 100644 --- a/serde_macros/src/lib.rs +++ b/serde_macros/src/lib.rs @@ -293,7 +293,7 @@ fn deserialize_struct( let fields = match *fields { Unnamed(_) => panic!(), - Named(ref fields) => fields.as_slice(), + Named(ref fields) => &fields[], }; // Convert each field into a unique ident. diff --git a/src/de.rs b/src/de.rs index d6625698..903bbec2 100644 --- a/src/de.rs +++ b/src/de.rs @@ -295,8 +295,8 @@ pub trait Deserializer: Iterator> + Sized { Token::Str(value) if value.chars().count() == 1 => { Ok(value.char_at(0)) } - Token::String(ref value) if value.as_slice().chars().count() == 1 => { - Ok(value.as_slice().char_at(0)) + Token::String(ref value) if value[].chars().count() == 1 => { + Ok(value[].char_at(0)) } token => { static EXPECTED_TOKENS: &'static [TokenKind] = &[ @@ -410,7 +410,7 @@ pub trait Deserializer: Iterator> + Sized { Ok(Some(fields.iter().position(|field| *field == n))) } Token::String(n) => { - Ok(Some(fields.iter().position(|field| *field == n.as_slice()))) + Ok(Some(fields.iter().position(|field| *field == &n[]))) } token => { Err(self.syntax_error(token, STR_TOKEN_KINDS)) diff --git a/src/json/de.rs b/src/json/de.rs index f69425b7..ff13a397 100644 --- a/src/json/de.rs +++ b/src/json/de.rs @@ -399,7 +399,7 @@ impl> Parser { let buf = &mut [0u8; 4]; let len = c.encode_utf8(buf).unwrap_or(0); - self.buf.extend(buf.slice_to(len).iter().map(|b| *b)); + self.buf.extend(buf[..len].iter().map(|b| *b)); } _ => { return Err(self.error(ErrorCode::InvalidEscape)); @@ -580,7 +580,7 @@ impl> de::Deserializer for Parser { _ => { return Err(self.error(ErrorCode::ExpectedEnumToken)); } } - match variants.iter().position(|v| *v == variant.as_slice()) { + match variants.iter().position(|v| *v == &variant[]) { Some(idx) => Ok(idx), None => Err(self.error(ErrorCode::UnknownVariant)), } @@ -631,7 +631,7 @@ impl> de::Deserializer for Parser { None => { return Ok(None); } }; - Ok(Some(fields.iter().position(|field| *field == s.as_slice()))) + Ok(Some(fields.iter().position(|field| *field == &s[]))) } } diff --git a/src/json/ser.rs b/src/json/ser.rs index 5b11f885..79751329 100644 --- a/src/json/ser.rs +++ b/src/json/ser.rs @@ -25,7 +25,7 @@ fn escape_bytes(wr: &mut W, bytes: &[u8]) -> IoResult<()> { }; if start < i { - try!(wr.write(bytes.slice(start, i))); + try!(wr.write(&bytes[start..i])); } try!(wr.write_str(escaped)); @@ -34,7 +34,7 @@ fn escape_bytes(wr: &mut W, bytes: &[u8]) -> IoResult<()> { } if start != bytes.len() { - try!(wr.write(bytes.slice_from(start))); + try!(wr.write(&bytes[start..])); } wr.write_str("\"") @@ -74,7 +74,7 @@ fn spaces(wr: &mut W, mut n: usize) -> IoResult<()> { } if n > 0 { - wr.write(BUF.slice_to(n)) + wr.write(&BUF[..n]) } else { Ok(()) } diff --git a/src/json/value.rs b/src/json/value.rs index d3abaecc..1a8cdeec 100644 --- a/src/json/value.rs +++ b/src/json/value.rs @@ -498,7 +498,7 @@ impl de::Deserializer for Deserializer { } }; - match variants.iter().position(|v| *v == variant.as_slice()) { + match variants.iter().position(|v| *v == &variant[]) { Some(idx) => Ok(idx), None => Err(Error::UnknownVariantError(variant)), } diff --git a/src/ser.rs b/src/ser.rs index b0e12154..5a18d4ad 100644 --- a/src/ser.rs +++ b/src/ser.rs @@ -158,7 +158,7 @@ impl<'a, S: Serializer, E> Serialize for &'a str { impl, E> Serialize for String { #[inline] fn serialize(&self, s: &mut S) -> Result<(), E> { - self.as_slice().serialize(s) + (&self[]).serialize(s) } } diff --git a/tests/json_struct.rs b/tests/json_struct.rs index 770439ff..f5b58a99 100644 --- a/tests/json_struct.rs +++ b/tests/json_struct.rs @@ -24,7 +24,7 @@ fn test_json_struct() { }; let s = serde::json::to_string(&input).unwrap(); - assert_eq!(s.as_slice(), r#"{"$schema":"a","title":"b","type":3}"#); + assert_eq!(&s[], r#"{"$schema":"a","title":"b","type":3}"#); let output: Test = serde::json::from_str(&s).unwrap(); assert_eq!(input, output); From 9a284ae7c230f30ff8574ecf552c504ad1af65e3 Mon Sep 17 00:00:00 2001 From: Thomas Bahn Date: Fri, 6 Feb 2015 15:21:51 +0100 Subject: [PATCH 05/16] Follow rust std: `fmt::Show` was renamed to `fmt::Debug` --- benches/bench_enum.rs | 4 ++-- benches/bench_log.rs | 18 +++++++++--------- benches/bench_map.rs | 12 ++++++------ benches/bench_struct.rs | 10 +++++----- benches/bench_vec.rs | 12 ++++++------ serde2/benches/bench_log.rs | 18 +++++++++--------- serde2/src/de.rs | 12 ++++++------ serde2/src/json/de.rs | 6 +++--- serde2/src/json/error.rs | 4 ++-- serde2/src/json/value.rs | 2 +- serde2/src/ser.rs | 2 +- src/de.rs | 12 ++++++------ src/json/de.rs | 2 +- src/json/error.rs | 4 ++-- src/json/mod.rs | 20 ++++++++++---------- src/json/ser.rs | 2 +- src/json/value.rs | 2 +- src/ser.rs | 10 +++++----- tests/json_struct.rs | 2 +- 19 files changed, 77 insertions(+), 77 deletions(-) diff --git a/benches/bench_enum.rs b/benches/bench_enum.rs index 85887612..0af19c3a 100644 --- a/benches/bench_enum.rs +++ b/benches/bench_enum.rs @@ -17,7 +17,7 @@ use Animal::{Dog, Frog}; ////////////////////////////////////////////////////////////////////////////// -#[derive(Clone, PartialEq, Show, RustcDecodable)] +#[derive(Clone, PartialEq, Debug, RustcDecodable)] #[derive_deserialize] enum Animal { Dog, @@ -26,7 +26,7 @@ enum Animal { ////////////////////////////////////////////////////////////////////////////// -#[derive(Show)] +#[derive(Debug)] pub enum Error { EndOfStream, SyntaxError, diff --git a/benches/bench_log.rs b/benches/bench_log.rs index f49e37e4..be2b4a53 100755 --- a/benches/bench_log.rs +++ b/benches/bench_log.rs @@ -22,7 +22,7 @@ use serde::ser; use rustc_serialize::Encodable; -#[derive(Show, PartialEq, RustcEncodable, RustcDecodable)] +#[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)] #[derive_serialize] #[derive_deserialize] struct Http { @@ -37,7 +37,7 @@ struct Http { request_uri: String, } -#[derive(Copy, Show, PartialEq, FromPrimitive)] +#[derive(Copy, Debug, PartialEq, FromPrimitive)] enum HttpProtocol { HTTP_PROTOCOL_UNKNOWN, HTTP10, @@ -73,7 +73,7 @@ impl, E> de::Deserialize for HttpProtocol { } } -#[derive(Copy, Show, PartialEq, FromPrimitive)] +#[derive(Copy, Debug, PartialEq, FromPrimitive)] enum HttpMethod { METHOD_UNKNOWN, GET, @@ -117,7 +117,7 @@ impl, E> de::Deserialize for HttpMethod { } } -#[derive(Copy, Show, PartialEq, FromPrimitive)] +#[derive(Copy, Debug, PartialEq, FromPrimitive)] enum CacheStatus { CACHESTATUS_UNKNOWN, Miss, @@ -154,7 +154,7 @@ impl, E> de::Deserialize for CacheStatus { } } -#[derive(Show, PartialEq, RustcEncodable, RustcDecodable)] +#[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)] #[derive_serialize] #[derive_deserialize] struct Origin { @@ -164,7 +164,7 @@ struct Origin { protocol: OriginProtocol, } -#[derive(Copy, Show, PartialEq, FromPrimitive)] +#[derive(Copy, Debug, PartialEq, FromPrimitive)] enum OriginProtocol { ORIGIN_PROTOCOL_UNKNOWN, HTTP, @@ -200,7 +200,7 @@ impl, E> de::Deserialize for OriginProtocol { } } -#[derive(Copy, Show, PartialEq, FromPrimitive)] +#[derive(Copy, Debug, PartialEq, FromPrimitive)] enum ZonePlan { ZONEPLAN_UNKNOWN, FREE, @@ -238,7 +238,7 @@ impl, E> de::Deserialize for ZonePlan { } } -#[derive(Copy, Show, PartialEq, FromPrimitive)] +#[derive(Copy, Debug, PartialEq, FromPrimitive)] enum Country { UNKNOWN, A1, @@ -527,7 +527,7 @@ impl, E> de::Deserialize for Country { } } -#[derive(Show, PartialEq, RustcEncodable, RustcDecodable)] +#[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)] #[derive_serialize] #[derive_deserialize] struct Log { diff --git a/benches/bench_map.rs b/benches/bench_map.rs index 9a15ad6e..3c0e60da 100644 --- a/benches/bench_map.rs +++ b/benches/bench_map.rs @@ -7,7 +7,7 @@ extern crate serde; extern crate "rustc-serialize" as rustc_serialize; extern crate test; -use std::fmt::Show; +use std::fmt::Debug; use std::collections::HashMap; use test::Bencher; @@ -17,7 +17,7 @@ use serde::de::{Deserializer, Deserialize}; ////////////////////////////////////////////////////////////////////////////// -#[derive(PartialEq, Show)] +#[derive(PartialEq, Debug)] pub enum Error { EndOfStream, SyntaxError, @@ -226,7 +226,7 @@ mod deserializer { use serde::de; - #[derive(PartialEq, Show)] + #[derive(PartialEq, Debug)] enum State { StartState, KeyOrEndState, @@ -321,7 +321,7 @@ mod deserializer { fn run_decoder< D: Decoder, - T: Clone + PartialEq + Show + Decodable + T: Clone + PartialEq + Debug + Decodable >(mut d: D, value: T) { let v = Decodable::decode(&mut d); @@ -360,8 +360,8 @@ fn bench_decoder_100(b: &mut Bencher) { fn run_deserializer< D: Deserializer, - E: Show, - T: Clone + PartialEq + Show + Deserialize + E: Debug, + T: Clone + PartialEq + Debug + Deserialize >(mut d: D, value: T) { let v: T = Deserialize::deserialize(&mut d).unwrap(); diff --git a/benches/bench_struct.rs b/benches/bench_struct.rs index afd22196..c9b75a81 100644 --- a/benches/bench_struct.rs +++ b/benches/bench_struct.rs @@ -16,7 +16,7 @@ use serde::de::{Deserializer, Deserialize}; ////////////////////////////////////////////////////////////////////////////// -#[derive(Clone, PartialEq, Show, RustcDecodable)] +#[derive(Clone, PartialEq, Debug, RustcDecodable)] #[derive_deserialize] struct Inner { a: (), @@ -26,7 +26,7 @@ struct Inner { ////////////////////////////////////////////////////////////////////////////// -#[derive(Clone, PartialEq, Show, RustcDecodable)] +#[derive(Clone, PartialEq, Debug, RustcDecodable)] #[derive_deserialize] struct Outer { inner: Vec, @@ -34,7 +34,7 @@ struct Outer { ////////////////////////////////////////////////////////////////////////////// -#[derive(Show)] +#[derive(Debug)] pub enum Error { EndOfStream, SyntaxError(String), @@ -63,7 +63,7 @@ mod decoder { OptionState, }; - #[derive(Show)] + #[derive(Debug)] enum State { OuterState(Outer), InnerState(Inner), @@ -339,7 +339,7 @@ mod deserializer { EndState, }; - #[derive(Show)] + #[derive(Debug)] enum State { OuterState(Outer), InnerState(Inner), diff --git a/benches/bench_vec.rs b/benches/bench_vec.rs index fbda5421..31910356 100644 --- a/benches/bench_vec.rs +++ b/benches/bench_vec.rs @@ -7,7 +7,7 @@ extern crate serde; extern crate "rustc-serialize" as rustc_serialize; extern crate test; -use std::fmt::Show; +use std::fmt::Debug; use test::Bencher; use rustc_serialize::{Decoder, Decodable}; @@ -16,7 +16,7 @@ use serde::de::{Deserializer, Deserialize}; ////////////////////////////////////////////////////////////////////////////// -#[derive(PartialEq, Show)] +#[derive(PartialEq, Debug)] pub enum Error { EndOfStream, SyntaxError, @@ -353,7 +353,7 @@ mod deserializer { use serde::de; - #[derive(PartialEq, Show)] + #[derive(PartialEq, Debug)] enum State { StartState, SepOrEndState, @@ -513,7 +513,7 @@ mod deserializer { fn run_decoder< D: Decoder, - T: Clone + PartialEq + Show + Decodable + T: Clone + PartialEq + Debug + Decodable >(mut d: D, value: T) { let v = Decodable::decode(&mut d); @@ -522,8 +522,8 @@ fn run_decoder< fn run_deserializer< D: Deserializer, - E: Show, - T: Clone + PartialEq + Show + Deserialize + E: Debug, + T: Clone + PartialEq + Debug + Deserialize >(mut d: D, value: T) { let v: T = Deserialize::deserialize(&mut d).unwrap(); diff --git a/serde2/benches/bench_log.rs b/serde2/benches/bench_log.rs index b6590dac..4742a8fb 100644 --- a/serde2/benches/bench_log.rs +++ b/serde2/benches/bench_log.rs @@ -66,7 +66,7 @@ impl de::Deserialize for HttpField { } } -#[derive(Show, PartialEq, RustcEncodable, RustcDecodable)] +#[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)] #[derive_serialize] //#[derive_deserialize] struct Http { @@ -135,7 +135,7 @@ impl de::Deserialize for Http { } } -#[derive(Copy, Show, PartialEq, FromPrimitive)] +#[derive(Copy, Debug, PartialEq, FromPrimitive)] enum HttpProtocol { HTTP_PROTOCOL_UNKNOWN, HTTP10, @@ -175,7 +175,7 @@ impl de::Deserialize for HttpProtocol { } } -#[derive(Copy, Show, PartialEq, FromPrimitive)] +#[derive(Copy, Debug, PartialEq, FromPrimitive)] enum HttpMethod { METHOD_UNKNOWN, GET, @@ -223,7 +223,7 @@ impl de::Deserialize for HttpMethod { } } -#[derive(Copy, Show, PartialEq, FromPrimitive)] +#[derive(Copy, Debug, PartialEq, FromPrimitive)] enum CacheStatus { CACHESTATUS_UNKNOWN, Miss, @@ -298,7 +298,7 @@ impl de::Deserialize for OriginField { } } -#[derive(Show, PartialEq, RustcEncodable, RustcDecodable)] +#[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)] #[derive_serialize] //#[derive_deserialize] struct Origin { @@ -347,7 +347,7 @@ impl Deserialize for Origin { } } -#[derive(Copy, Show, PartialEq, FromPrimitive)] +#[derive(Copy, Debug, PartialEq, FromPrimitive)] enum OriginProtocol { ORIGIN_PROTOCOL_UNKNOWN, HTTP, @@ -387,7 +387,7 @@ impl de::Deserialize for OriginProtocol { } } -#[derive(Copy, Show, PartialEq, FromPrimitive)] +#[derive(Copy, Debug, PartialEq, FromPrimitive)] enum ZonePlan { ZONEPLAN_UNKNOWN, FREE, @@ -429,7 +429,7 @@ impl de::Deserialize for ZonePlan { } } -#[derive(Copy, Show, PartialEq, FromPrimitive)] +#[derive(Copy, Debug, PartialEq, FromPrimitive)] enum Country { UNKNOWN, A1, @@ -772,7 +772,7 @@ impl de::Deserialize for LogField { } } -#[derive(Show, PartialEq, RustcEncodable, RustcDecodable)] +#[derive(Debug, PartialEq, RustcEncodable, RustcDecodable)] #[derive_serialize] //#[derive_deserialize] struct Log { diff --git a/serde2/src/de.rs b/serde2/src/de.rs index 6acd2e74..0a07a11a 100644 --- a/serde2/src/de.rs +++ b/serde2/src/de.rs @@ -665,7 +665,7 @@ mod tests { use std::iter; use std::vec; - #[derive(Show)] + #[derive(Debug)] enum Token<'a> { Bool(bool), Isize(isize), @@ -715,7 +715,7 @@ mod tests { } } - #[derive(Copy, PartialEq, Show)] + #[derive(Copy, PartialEq, Debug)] enum Error { SyntaxError, EndOfStreamError, @@ -973,7 +973,7 @@ mod tests { ////////////////////////////////////////////////////////////////////////// - #[derive(Copy, PartialEq, Show)] + #[derive(Copy, PartialEq, Debug)] struct NamedUnit; impl Deserialize for NamedUnit { @@ -1015,7 +1015,7 @@ mod tests { ////////////////////////////////////////////////////////////////////////// - #[derive(PartialEq, Show)] + #[derive(PartialEq, Debug)] struct NamedSeq(i32, i32, i32); impl Deserialize for NamedSeq { @@ -1067,7 +1067,7 @@ mod tests { ////////////////////////////////////////////////////////////////////////// - #[derive(PartialEq, Show)] + #[derive(PartialEq, Debug)] struct NamedMap { a: i32, b: i32, @@ -1152,7 +1152,7 @@ mod tests { ////////////////////////////////////////////////////////////////////////// - #[derive(PartialEq, Show)] + #[derive(PartialEq, Debug)] enum Enum { Unit, Seq(i32, i32, i32), diff --git a/serde2/src/json/de.rs b/serde2/src/json/de.rs index bd6a6e4e..9b59d90a 100644 --- a/serde2/src/json/de.rs +++ b/serde2/src/json/de.rs @@ -529,7 +529,7 @@ pub fn from_str<'a, T>(s: &'a str) -> Result #[cfg(test)] mod tests { use std::str; - use std::fmt::Show; + use std::fmt::Debug; use std::collections::BTreeMap; use de::Deserialize; @@ -545,7 +545,7 @@ mod tests { } fn test_parse_ok<'a, T>(errors: Vec<(&'a str, T)>) - where T: PartialEq + Show + Deserialize, + where T: PartialEq + Debug + Deserialize, { for (s, value) in errors.into_iter() { let v: Result = from_str(s); @@ -559,7 +559,7 @@ mod tests { } fn test_parse_err<'a, T>(errors: Vec<(&'a str, Error)>) - where T: PartialEq + Show + Deserialize + where T: PartialEq + Debug + Deserialize { for (s, err) in errors.into_iter() { let v: Result = from_str(s); diff --git a/serde2/src/json/error.rs b/serde2/src/json/error.rs index b9b4b41b..ddee5556 100644 --- a/serde2/src/json/error.rs +++ b/serde2/src/json/error.rs @@ -37,7 +37,7 @@ pub enum ErrorCode { UnrecognizedHex, } -impl fmt::Show for ErrorCode { +impl fmt::Debug for ErrorCode { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { //ErrorCode::ConversionError(ref token) => write!(f, "failed to convert {}", token), @@ -75,7 +75,7 @@ impl fmt::Show for ErrorCode { } } -#[derive(Clone, PartialEq, Show)] +#[derive(Clone, PartialEq, Debug)] pub enum Error { /// msg, line, col SyntaxError(ErrorCode, usize, usize), diff --git a/serde2/src/json/value.rs b/serde2/src/json/value.rs index c6d49e5b..7a2d89af 100644 --- a/serde2/src/json/value.rs +++ b/serde2/src/json/value.rs @@ -57,7 +57,7 @@ impl<'a, 'b> io::Writer for WriterFormatter<'a, 'b> { } } -impl fmt::Show for Value { +impl fmt::Debug for Value { /// Serializes a json value into a string fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let mut wr = WriterFormatter { inner: f }; diff --git a/serde2/src/ser.rs b/serde2/src/ser.rs index 7f3ae6bb..aa4d3e6c 100644 --- a/serde2/src/ser.rs +++ b/serde2/src/ser.rs @@ -651,7 +651,7 @@ mod tests { use std::vec; use std::collections::BTreeMap; - #[derive(Clone, PartialEq, Show)] + #[derive(Clone, PartialEq, Debug)] pub enum Token<'a> { Bool(bool), Isize(isize), diff --git a/src/de.rs b/src/de.rs index 903bbec2..1d8f215f 100644 --- a/src/de.rs +++ b/src/de.rs @@ -18,7 +18,7 @@ use std::rc::Rc; use std::string; use std::sync::Arc; -#[derive(Clone, PartialEq, Show)] +#[derive(Clone, PartialEq, Debug)] pub enum Token { Null, Bool(bool), @@ -138,7 +138,7 @@ static COMPOUND_TOKEN_KINDS: &'static [TokenKind] = &[ TokenKind::MapStartKind, ]; -impl ::std::fmt::Show for TokenKind { +impl ::std::fmt::Debug for TokenKind { fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { match *self { TokenKind::NullKind => "Null".fmt(f), @@ -1091,7 +1091,7 @@ mod tests { ////////////////////////////////////////////////////////////////////////////// - #[derive(Clone, PartialEq, Show, RustcDecodable)] + #[derive(Clone, PartialEq, Debug, RustcDecodable)] struct Inner { a: (), b: usize, @@ -1133,7 +1133,7 @@ mod tests { ////////////////////////////////////////////////////////////////////////////// - #[derive(Clone, PartialEq, Show, RustcDecodable)] + #[derive(Clone, PartialEq, Debug, RustcDecodable)] struct Outer { inner: Vec, } @@ -1166,7 +1166,7 @@ mod tests { ////////////////////////////////////////////////////////////////////////////// - #[derive(Clone, PartialEq, Show, RustcDecodable)] + #[derive(Clone, PartialEq, Debug, RustcDecodable)] enum Animal { Dog, Frog(string::String, isize) @@ -1193,7 +1193,7 @@ mod tests { ////////////////////////////////////////////////////////////////////////////// - #[derive(Show)] + #[derive(Debug)] enum Error { EndOfStream, SyntaxError(Vec), diff --git a/src/json/de.rs b/src/json/de.rs index ff13a397..7e59aabd 100644 --- a/src/json/de.rs +++ b/src/json/de.rs @@ -7,7 +7,7 @@ use de; use super::error::{Error, ErrorCode}; -#[derive(PartialEq, Show)] +#[derive(PartialEq, Debug)] enum State { // Parse a value. Value, diff --git a/src/json/error.rs b/src/json/error.rs index 6341eac8..b464c769 100644 --- a/src/json/error.rs +++ b/src/json/error.rs @@ -40,7 +40,7 @@ pub enum ErrorCode { UnrecognizedHex, } -impl fmt::Show for ErrorCode { +impl fmt::Debug for ErrorCode { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { ErrorCode::ConversionError(ref token) => write!(f, "failed to convert {:?}", token), @@ -78,7 +78,7 @@ impl fmt::Show for ErrorCode { } } -#[derive(Clone, PartialEq, Show)] +#[derive(Clone, PartialEq, Debug)] pub enum Error { /// msg, line, col SyntaxError(ErrorCode, usize, usize), diff --git a/src/json/mod.rs b/src/json/mod.rs index 707e9d76..ad5fa3e1 100644 --- a/src/json/mod.rs +++ b/src/json/mod.rs @@ -318,7 +318,7 @@ pub mod error; #[cfg(test)] mod tests { - use std::fmt::Show; + use std::fmt::Debug; use std::io; use std::str; use std::string; @@ -357,7 +357,7 @@ mod tests { }) } - #[derive(PartialEq, Show)] + #[derive(PartialEq, Debug)] #[derive_serialize] #[derive_deserialize] enum Animal { @@ -386,7 +386,7 @@ mod tests { } } - #[derive(PartialEq, Show)] + #[derive(PartialEq, Debug)] #[derive_serialize] #[derive_deserialize] struct Inner { @@ -407,7 +407,7 @@ mod tests { } } - #[derive(PartialEq, Show)] + #[derive(PartialEq, Debug)] #[derive_serialize] #[derive_deserialize] struct Outer { @@ -425,7 +425,7 @@ mod tests { } fn test_encode_ok< - T: PartialEq + Show + ToJson + ser::Serialize>, io::IoError> + T: PartialEq + Debug + ToJson + ser::Serialize>, io::IoError> >(errors: &[(T, &str)]) { for &(ref value, out) in errors.iter() { let out = out.to_string(); @@ -439,7 +439,7 @@ mod tests { } fn test_pretty_encode_ok< - T: PartialEq + Show + ToJson + ser::Serialize>, io::IoError> + T: PartialEq + Debug + ToJson + ser::Serialize>, old_io::IoError> >(errors: &[(T, &str)]) { for &(ref value, out) in errors.iter() { let out = out.to_string(); @@ -776,7 +776,7 @@ mod tests { // FIXME (#5527): these could be merged once UFCS is finished. fn test_parse_err< 'a, - T: Show + de::Deserialize>, Error> + T: Debug + de::Deserialize>, Error> >(errors: &[(&'a str, Error)]) { for &(s, ref err) in errors.iter() { let v: Result = from_str(s); @@ -786,7 +786,7 @@ mod tests { fn test_parse_ok< 'a, - T: PartialEq + Show + ToJson + de::Deserialize>, Error> + T: PartialEq + Debug + ToJson + de::Deserialize>, Error> >(errors: &[(&'a str, T)]) { for &(s, ref value) in errors.iter() { let v: T = from_str(s).unwrap(); @@ -798,7 +798,7 @@ mod tests { } fn test_json_deserialize_ok< - T: PartialEq + Show + ToJson + de::Deserialize + T: PartialEq + Debug + ToJson + de::Deserialize >(errors: &[T]) { for value in errors.iter() { let v: T = from_json(value.to_json()).unwrap(); @@ -1103,7 +1103,7 @@ mod tests { ("\"jodhpurs\"", Some("jodhpurs".to_string())), ]); - #[derive(PartialEq, Show)] + #[derive(PartialEq, Debug)] #[derive_serialize] #[derive_deserialize] struct Foo { diff --git a/src/json/ser.rs b/src/json/ser.rs index 79751329..7d7b0f5a 100644 --- a/src/json/ser.rs +++ b/src/json/ser.rs @@ -81,7 +81,7 @@ fn spaces(wr: &mut W, mut n: usize) -> IoResult<()> { } /* -#[derive(Show)] +#[derive(Debug)] enum SerializerState { ValueState, TupleState, diff --git a/src/json/value.rs b/src/json/value.rs index 1a8cdeec..41221daa 100644 --- a/src/json/value.rs +++ b/src/json/value.rs @@ -226,7 +226,7 @@ impl<'a, 'b> Writer for WriterFormatter<'a, 'b> { } } -impl fmt::Show for Value { +impl fmt::Debug for Value { /// Serializes a json value into a string fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let wr = WriterFormatter { inner: f }; diff --git a/src/ser.rs b/src/ser.rs index 5a18d4ad..590c005f 100644 --- a/src/ser.rs +++ b/src/ser.rs @@ -328,7 +328,7 @@ mod tests { ////////////////////////////////////////////////////////////////////////////// - #[derive(Clone, PartialEq, Show, RustcDecodable)] + #[derive(Clone, PartialEq, Debug, RustcDecodable)] #[derive_serialize] struct Inner { a: (), @@ -338,7 +338,7 @@ mod tests { ////////////////////////////////////////////////////////////////////////////// - #[derive(Clone, PartialEq, Show, RustcDecodable)] + #[derive(Clone, PartialEq, Debug, RustcDecodable)] #[derive_serialize] struct Outer { inner: Vec, @@ -346,7 +346,7 @@ mod tests { ////////////////////////////////////////////////////////////////////////////// - #[derive(Clone, PartialEq, Show, RustcDecodable)] + #[derive(Clone, PartialEq, Debug, RustcDecodable)] #[derive_serialize] enum Animal { Dog, @@ -355,7 +355,7 @@ mod tests { ////////////////////////////////////////////////////////////////////////////// - #[derive(Clone, PartialEq, Show)] + #[derive(Clone, PartialEq, Debug)] pub enum Token<'a> { Null, Bool(bool), @@ -395,7 +395,7 @@ mod tests { MapEnd, } - #[derive(Show)] + #[derive(Debug)] #[allow(dead_code)] enum Error { EndOfStream, diff --git a/tests/json_struct.rs b/tests/json_struct.rs index f5b58a99..a53a1428 100644 --- a/tests/json_struct.rs +++ b/tests/json_struct.rs @@ -4,7 +4,7 @@ extern crate serde; #[plugin] extern crate serde_macros; -#[derive(PartialEq, Show)] +#[derive(PartialEq, Debug)] #[derive_serialize] #[derive_deserialize] struct Test { From 5782657502ea0f3db2e0f6b788686e0a06fca1a6 Mon Sep 17 00:00:00 2001 From: Thomas Bahn Date: Fri, 6 Feb 2015 15:26:06 +0100 Subject: [PATCH 06/16] Follow rust std: The old `io` module is now called `old_io` --- benches/bench_log.rs | 12 ++++++------ serde2/benches/bench_log.rs | 10 +++++----- serde2/src/json/error.rs | 8 ++++---- serde2/src/json/ser.rs | 24 ++++++++++++------------ serde2/src/json/value.rs | 8 ++++---- src/json/error.rs | 8 ++++---- src/json/mod.rs | 6 +++--- src/json/ser.rs | 10 +++++----- src/json/value.rs | 8 ++++---- 9 files changed, 47 insertions(+), 47 deletions(-) diff --git a/benches/bench_log.rs b/benches/bench_log.rs index be2b4a53..91a4a885 100755 --- a/benches/bench_log.rs +++ b/benches/bench_log.rs @@ -8,9 +8,9 @@ extern crate serde; extern crate "rustc-serialize" as rustc_serialize; extern crate test; -use std::io::ByRefWriter; -use std::io::extensions::Bytes; -use std::io; +use std::old_io::ByRefWriter; +use std::old_io::extensions::Bytes; +use std::old_io; use std::num::FromPrimitive; use test::Bencher; @@ -620,7 +620,7 @@ impl MyMemWriter0 { impl Writer for MyMemWriter0 { #[inline] - fn write(&mut self, buf: &[u8]) -> io::IoResult<()> { + fn write_all(&mut self, buf: &[u8]) -> old_io::IoResult<()> { self.buf.push_all(buf); Ok(()) } @@ -660,7 +660,7 @@ fn push_all_bytes(dst: &mut Vec, src: &[u8]) { impl Writer for MyMemWriter1 { #[inline] - fn write(&mut self, buf: &[u8]) -> io::IoResult<()> { + fn write_all(&mut self, buf: &[u8]) -> old_io::IoResult<()> { push_all_bytes(&mut self.buf, buf); Ok(()) } @@ -761,7 +761,7 @@ fn bench_serializer_slice(b: &mut Bencher) { b.iter(|| { for item in buf.iter_mut(){ *item = 0; } - let mut wr = std::io::BufWriter::new(&mut buf); + let mut wr = std::old_io::BufWriter::new(&mut buf); let mut serializer = json::Serializer::new(wr.by_ref()); log.serialize(&mut serializer).unwrap(); diff --git a/serde2/benches/bench_log.rs b/serde2/benches/bench_log.rs index 4742a8fb..33b915f6 100644 --- a/serde2/benches/bench_log.rs +++ b/serde2/benches/bench_log.rs @@ -8,8 +8,8 @@ extern crate serde2; extern crate "rustc-serialize" as rustc_serialize; extern crate test; -use std::io; -use std::io::ByRefWriter; +use std::old_io; +use std::old_io::ByRefWriter; use std::num::FromPrimitive; use test::Bencher; @@ -928,7 +928,7 @@ impl MyMemWriter0 { impl Writer for MyMemWriter0 { #[inline] - fn write(&mut self, buf: &[u8]) -> io::IoResult<()> { + fn write_all(&mut self, buf: &[u8]) -> old_io::IoResult<()> { self.buf.push_all(buf); Ok(()) } @@ -968,7 +968,7 @@ fn push_all_bytes(dst: &mut Vec, src: &[u8]) { impl Writer for MyMemWriter1 { #[inline] - fn write(&mut self, buf: &[u8]) -> io::IoResult<()> { + fn write_all(&mut self, buf: &[u8]) -> old_io::IoResult<()> { push_all_bytes(&mut self.buf, buf); Ok(()) } @@ -1069,7 +1069,7 @@ fn bench_serializer_slice(b: &mut Bencher) { b.iter(|| { for item in buf.iter_mut(){ *item = 0; } - let mut wr = std::io::BufWriter::new(&mut buf); + let mut wr = std::old_io::BufWriter::new(&mut buf); let mut serializer = json::Writer::new(wr.by_ref()); serializer.visit(&log).unwrap(); diff --git a/serde2/src/json/error.rs b/serde2/src/json/error.rs index ddee5556..3af53a3e 100644 --- a/serde2/src/json/error.rs +++ b/serde2/src/json/error.rs @@ -1,6 +1,6 @@ use std::error; use std::fmt; -use std::io; +use std::old_io; use de; @@ -79,7 +79,7 @@ impl fmt::Debug for ErrorCode { pub enum Error { /// msg, line, col SyntaxError(ErrorCode, usize, usize), - IoError(io::IoError), + IoError(old_io::IoError), /* ExpectedError(String, String), MissingFieldError(String), @@ -121,8 +121,8 @@ impl error::Error for Error { } } -impl error::FromError for Error { - fn from_error(error: io::IoError) -> Error { +impl error::FromError for Error { + fn from_error(error: old_io::IoError) -> Error { Error::IoError(error) } } diff --git a/serde2/src/json/ser.rs b/serde2/src/json/ser.rs index 0749a42a..fe82204e 100644 --- a/serde2/src/json/ser.rs +++ b/serde2/src/json/ser.rs @@ -1,5 +1,5 @@ use std::f64; -use std::io::{self, ByRefWriter, IoError}; +use std::old_io::{self, ByRefWriter, IoError}; use std::num::{Float, FpCategory}; use std::string::FromUtf8Error; @@ -11,7 +11,7 @@ pub struct Writer { writer: W, } -impl Writer { +impl Writer { /// Creates a new JSON visitr whose output will be written to the writer /// specified. #[inline] @@ -28,7 +28,7 @@ impl Writer { } } -impl ser::Serializer for Writer { +impl ser::Serializer for Writer { type Value = (); type Error = IoError; @@ -44,7 +44,7 @@ struct Visitor<'a, W: 'a> { writer: &'a mut W, } -impl<'a, W: io::Writer> ser::Visitor for Visitor<'a, W> { +impl<'a, W: old_io::Writer> ser::Visitor for Visitor<'a, W> { type Value = (); type Error = IoError; @@ -188,7 +188,7 @@ impl<'a, W: io::Writer> ser::Visitor for Visitor<'a, W> { } #[inline] -pub fn escape_bytes(wr: &mut W, bytes: &[u8]) -> Result<(), IoError> { +pub fn escape_bytes(wr: &mut W, bytes: &[u8]) -> Result<(), IoError> { try!(wr.write_str("\"")); let mut start = 0; @@ -206,7 +206,7 @@ pub fn escape_bytes(wr: &mut W, bytes: &[u8]) -> Result<(), IoErr }; if start < i { - try!(wr.write(&bytes[start..i])); + try!(wr.write_all(&bytes[start..i])); } try!(wr.write_str(escaped)); @@ -215,34 +215,34 @@ pub fn escape_bytes(wr: &mut W, bytes: &[u8]) -> Result<(), IoErr } if start != bytes.len() { - try!(wr.write(&bytes[start..])); + try!(wr.write_all(&bytes[start..])); } wr.write_str("\"") } #[inline] -pub fn escape_str(wr: &mut W, value: &str) -> Result<(), IoError> { +pub fn escape_str(wr: &mut W, value: &str) -> Result<(), IoError> { escape_bytes(wr, value.as_bytes()) } #[inline] -pub fn escape_char(wr: &mut W, value: char) -> Result<(), IoError> { +pub fn escape_char(wr: &mut W, value: char) -> Result<(), IoError> { let mut buf = &mut [0; 4]; value.encode_utf8(buf); escape_bytes(wr, buf) } -fn fmt_f64_or_null(wr: &mut W, value: f64) -> Result<(), IoError> { +fn fmt_f64_or_null(wr: &mut W, value: f64) -> Result<(), IoError> { match value.classify() { FpCategory::Nan | FpCategory::Infinite => wr.write_str("null"), - _ => wr.write_str(f64::to_str_digits(value, 6).as_slice()), + _ => wr.write_str(&f64::to_str_digits(value, 6)), } } #[inline] pub fn to_writer(wr: &mut W, value: &T) -> Result<(), IoError> - where W: io::Writer, + where W: old_io::Writer, T: ser::Serialize, { let mut wr = Writer::new(wr.by_ref()); diff --git a/serde2/src/json/value.rs b/serde2/src/json/value.rs index 7a2d89af..c620c3b0 100644 --- a/serde2/src/json/value.rs +++ b/serde2/src/json/value.rs @@ -1,6 +1,6 @@ use std::collections::BTreeMap; use std::fmt; -use std::io; +use std::old_io; use std::str; use ser::{self, Serializer}; @@ -51,9 +51,9 @@ struct WriterFormatter<'a, 'b: 'a> { inner: &'a mut fmt::Formatter<'b>, } -impl<'a, 'b> io::Writer for WriterFormatter<'a, 'b> { - fn write(&mut self, buf: &[u8]) -> io::IoResult<()> { - self.inner.write_str(str::from_utf8(buf).unwrap()).map_err(|_| io::IoError::last_error()) +impl<'a, 'b> old_io::Writer for WriterFormatter<'a, 'b> { + fn write_all(&mut self, buf: &[u8]) -> old_io::IoResult<()> { + self.inner.write_str(str::from_utf8(buf).unwrap()).map_err(|_| old_io::IoError::last_error()) } } diff --git a/src/json/error.rs b/src/json/error.rs index b464c769..91cf4c95 100644 --- a/src/json/error.rs +++ b/src/json/error.rs @@ -1,6 +1,6 @@ use std::error; use std::fmt; -use std::io; +use std::old_io; use de::{Token, TokenKind}; @@ -82,7 +82,7 @@ impl fmt::Debug for ErrorCode { pub enum Error { /// msg, line, col SyntaxError(ErrorCode, usize, usize), - IoError(io::IoError), + IoError(old_io::IoError), ExpectedError(String, String), MissingFieldError(String), UnknownVariantError(String), @@ -118,8 +118,8 @@ impl error::Error for Error { } } -impl error::FromError for Error { - fn from_error(error: io::IoError) -> Error { +impl error::FromError for Error { + fn from_error(error: old_io::IoError) -> Error { Error::IoError(error) } } diff --git a/src/json/mod.rs b/src/json/mod.rs index ad5fa3e1..629dcff5 100644 --- a/src/json/mod.rs +++ b/src/json/mod.rs @@ -65,7 +65,7 @@ To serialize using `Serialize`: extern crate serde_macros; extern crate serde; -use std::io::ByRefWriter; +use std::old_io::ByRefWriter; use serde::json; use serde::Serialize; @@ -319,7 +319,7 @@ pub mod error; #[cfg(test)] mod tests { use std::fmt::Debug; - use std::io; + use std::old_io; use std::str; use std::string; use std::collections::BTreeMap; @@ -425,7 +425,7 @@ mod tests { } fn test_encode_ok< - T: PartialEq + Debug + ToJson + ser::Serialize>, io::IoError> + T: PartialEq + Debug + ToJson + ser::Serialize>, old_io::IoError> >(errors: &[(T, &str)]) { for &(ref value, out) in errors.iter() { let out = out.to_string(); diff --git a/src/json/ser.rs b/src/json/ser.rs index 7d7b0f5a..3cd9192f 100644 --- a/src/json/ser.rs +++ b/src/json/ser.rs @@ -1,7 +1,7 @@ use std::f32; use std::f64; use std::num::{Float, FpCategory}; -use std::io::{IoError, IoResult}; +use std::old_io::{IoError, IoResult}; use std::string::FromUtf8Error; use ser::Serialize; @@ -25,7 +25,7 @@ fn escape_bytes(wr: &mut W, bytes: &[u8]) -> IoResult<()> { }; if start < i { - try!(wr.write(&bytes[start..i])); + try!(wr.write_all(&bytes[start..i])); } try!(wr.write_str(escaped)); @@ -34,7 +34,7 @@ fn escape_bytes(wr: &mut W, bytes: &[u8]) -> IoResult<()> { } if start != bytes.len() { - try!(wr.write(&bytes[start..])); + try!(wr.write_all(&bytes[start..])); } wr.write_str("\"") @@ -69,12 +69,12 @@ fn spaces(wr: &mut W, mut n: usize) -> IoResult<()> { const BUF: &'static [u8; LEN] = &[b' '; LEN]; while n >= LEN { - try!(wr.write(BUF)); + try!(wr.write_all(BUF)); n -= LEN; } if n > 0 { - wr.write(&BUF[..n]) + wr.write_all(&BUF[..n]) } else { Ok(()) } diff --git a/src/json/value.rs b/src/json/value.rs index 41221daa..01052a39 100644 --- a/src/json/value.rs +++ b/src/json/value.rs @@ -1,7 +1,7 @@ use std::collections::{HashMap, BTreeMap, btree_map}; use std::fmt; -use std::io::{ByRefWriter, IoResult}; -use std::io; +use std::old_io::{ByRefWriter, IoResult}; +use std::old_io; use std::str; use std::string::ToString; use std::vec; @@ -221,8 +221,8 @@ struct WriterFormatter<'a, 'b: 'a> { } impl<'a, 'b> Writer for WriterFormatter<'a, 'b> { - fn write(&mut self, buf: &[u8]) -> IoResult<()> { - self.inner.write_str(str::from_utf8(buf).unwrap()).map_err(|_| io::IoError::last_error()) + fn write_all(&mut self, buf: &[u8]) -> IoResult<()> { + self.inner.write_str(str::from_utf8(buf).unwrap()).map_err(|_| old_io::IoError::last_error()) } } From cb8492d74bec600a93813860830f80ee664f7128 Mon Sep 17 00:00:00 2001 From: Thomas Bahn Date: Fri, 6 Feb 2015 15:37:02 +0100 Subject: [PATCH 07/16] Follow rust std: `Error` requires an implementation of `fmt::Display` --- serde2/src/json/error.rs | 11 +++++++---- src/json/error.rs | 16 +++++++++------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/serde2/src/json/error.rs b/serde2/src/json/error.rs index 3af53a3e..0c2cb32e 100644 --- a/serde2/src/json/error.rs +++ b/serde2/src/json/error.rs @@ -91,7 +91,7 @@ impl error::Error for Error { fn description(&self) -> &str { match *self { Error::SyntaxError(..) => "syntax error", - Error::IoError(ref error) => error.description(), + Error::IoError(_) => "input/output error", /* Error::ExpectedError(ref expected, _) => &expected, Error::MissingFieldError(_) => "missing field", @@ -100,12 +100,15 @@ impl error::Error for Error { } } - fn detail(&self) -> Option { +} + +impl fmt::Display for Error { + fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result { match *self { Error::SyntaxError(ref code, line, col) => { - Some(format!("{:?} at line {:?} column {:?}", code, line, col)) + write!(fmt, "{:?} at line {:?} column {:?}", code, line, col) } - Error::IoError(ref error) => error.detail(), + Error::IoError(ref error) => fmt::Display::fmt(error, fmt), /* Error::ExpectedError(ref expected, ref found) => { Some(format!("expected {}, found {}", expected, found)) diff --git a/src/json/error.rs b/src/json/error.rs index 91cf4c95..a6598004 100644 --- a/src/json/error.rs +++ b/src/json/error.rs @@ -92,27 +92,29 @@ impl error::Error for Error { fn description(&self) -> &str { match *self { Error::SyntaxError(..) => "syntax error", - Error::IoError(ref error) => error.description(), + Error::IoError(_) => "Input/Output error", Error::ExpectedError(ref expected, _) => &expected, Error::MissingFieldError(_) => "missing field", Error::UnknownVariantError(_) => "unknown variant", } } +} - fn detail(&self) -> Option { +impl fmt::Display for Error { + fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result { match *self { Error::SyntaxError(ref code, line, col) => { - Some(format!("{:?} at line {:?} column {:?}", code, line, col)) + write!(fmt, "{:?} at line {:?} column {:?}", code, line, col) } - Error::IoError(ref error) => error.detail(), + Error::IoError(ref error) => fmt::Display::fmt(error, fmt), Error::ExpectedError(ref expected, ref found) => { - Some(format!("expected {:?}, found {:?}", expected, found)) + write!(fmt, "expected {:?}, found {:?}", expected, found) } Error::MissingFieldError(ref field) => { - Some(format!("missing field {:?}", field)) + write!(fmt, "missing field {:?}", field) } Error::UnknownVariantError(ref variant) => { - Some(format!("unknown variant {:?}", variant)) + write!(fmt, "unknown variant {:?}", variant) } } } From 79ff9fdafad5a5d548c3d4375f10274cc2dfb898 Mon Sep 17 00:00:00 2001 From: Thomas Bahn Date: Fri, 6 Feb 2015 15:27:16 +0100 Subject: [PATCH 08/16] Use the IntoIterator trait in for loops --- benches/bench_struct.rs | 4 ++-- serde2/src/json/de.rs | 4 ++-- src/json/mod.rs | 10 +++++----- src/json/value.rs | 8 ++++---- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/benches/bench_struct.rs b/benches/bench_struct.rs index c9b75a81..edc71000 100644 --- a/benches/bench_struct.rs +++ b/benches/bench_struct.rs @@ -283,7 +283,7 @@ mod decoder { match self.stack.pop() { Some(MapState(map)) => { let len = map.len(); - for (key, value) in map.into_iter() { + for (key, value) in map { match value { Some(c) => { self.stack.push(CharState(c)); @@ -404,7 +404,7 @@ mod deserializer { Some(MapState(value)) => { self.stack.push(EndState); let len = value.len(); - for (key, value) in value.into_iter() { + for (key, value) in value { match value { Some(c) => { self.stack.push(CharState(c)); diff --git a/serde2/src/json/de.rs b/serde2/src/json/de.rs index 9b59d90a..73d797bd 100644 --- a/serde2/src/json/de.rs +++ b/serde2/src/json/de.rs @@ -547,7 +547,7 @@ mod tests { fn test_parse_ok<'a, T>(errors: Vec<(&'a str, T)>) where T: PartialEq + Debug + Deserialize, { - for (s, value) in errors.into_iter() { + for (s, value) in errors { let v: Result = from_str(s); assert_eq!(v, Ok(value)); @@ -561,7 +561,7 @@ mod tests { fn test_parse_err<'a, T>(errors: Vec<(&'a str, Error)>) where T: PartialEq + Debug + Deserialize { - for (s, err) in errors.into_iter() { + for (s, err) in errors { let v: Result = from_str(s); assert_eq!(v, Err(err)); } diff --git a/src/json/mod.rs b/src/json/mod.rs index 629dcff5..17d749bf 100644 --- a/src/json/mod.rs +++ b/src/json/mod.rs @@ -427,7 +427,7 @@ mod tests { fn test_encode_ok< T: PartialEq + Debug + ToJson + ser::Serialize>, old_io::IoError> >(errors: &[(T, &str)]) { - for &(ref value, out) in errors.iter() { + for &(ref value, out) in errors { let out = out.to_string(); let s = super::to_string(value).unwrap(); @@ -441,7 +441,7 @@ mod tests { fn test_pretty_encode_ok< T: PartialEq + Debug + ToJson + ser::Serialize>, old_io::IoError> >(errors: &[(T, &str)]) { - for &(ref value, out) in errors.iter() { + for &(ref value, out) in errors { let out = out.to_string(); let s = super::to_pretty_string(value).unwrap(); @@ -778,7 +778,7 @@ mod tests { 'a, T: Debug + de::Deserialize>, Error> >(errors: &[(&'a str, Error)]) { - for &(s, ref err) in errors.iter() { + for &(s, ref err) in errors { let v: Result = from_str(s); assert_eq!(v.unwrap_err(), *err); } @@ -788,7 +788,7 @@ mod tests { 'a, T: PartialEq + Debug + ToJson + de::Deserialize>, Error> >(errors: &[(&'a str, T)]) { - for &(s, ref value) in errors.iter() { + for &(s, ref value) in errors { let v: T = from_str(s).unwrap(); assert_eq!(v, *value); @@ -800,7 +800,7 @@ mod tests { fn test_json_deserialize_ok< T: PartialEq + Debug + ToJson + de::Deserialize >(errors: &[T]) { - for value in errors.iter() { + for value in errors { let v: T = from_json(value.to_json()).unwrap(); assert_eq!(v, *value); diff --git a/src/json/value.rs b/src/json/value.rs index 01052a39..9fee4671 100644 --- a/src/json/value.rs +++ b/src/json/value.rs @@ -60,7 +60,7 @@ impl Value { /// Otherwise, it will return the Json value associated with the final key. pub fn find_path<'a>(&'a self, keys: &[&String]) -> Option<&'a Value>{ let mut target = self; - for key in keys.iter() { + for key in keys { match target.find(*key) { Some(t) => { target = t; }, None => return None @@ -79,7 +79,7 @@ impl Value { Some(json_value) => Some(json_value), None => { let mut value : Option<&'a Value> = None; - for (_, v) in map.iter() { + for (_, v) in map { value = v.search(key); if value.is_some() { break; @@ -643,7 +643,7 @@ impl ToJson for Vec { impl ToJson for BTreeMap { fn to_json(&self) -> Value { let mut d = BTreeMap::new(); - for (key, value) in self.iter() { + for (key, value) in self { d.insert((*key).clone(), value.to_json()); } Value::Object(d) @@ -653,7 +653,7 @@ impl ToJson for BTreeMap { impl ToJson for HashMap { fn to_json(&self) -> Value { let mut d = BTreeMap::new(); - for (key, value) in self.iter() { + for (key, value) in self { d.insert((*key).clone(), value.to_json()); } Value::Object(d) From 81f84a4ea46b8c7262b084d2940003f0feaa5df6 Mon Sep 17 00:00:00 2001 From: Thomas Bahn Date: Fri, 6 Feb 2015 15:20:06 +0100 Subject: [PATCH 09/16] Remove unneeded `mut` specifiers --- serde_macros/src/lib.rs | 2 +- src/json/ser.rs | 8 ++++---- src/ser.rs | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/serde_macros/src/lib.rs b/serde_macros/src/lib.rs index ab8314ab..563f94a4 100644 --- a/serde_macros/src/lib.rs +++ b/serde_macros/src/lib.rs @@ -488,7 +488,7 @@ fn deserialize_static_fields( } } -fn find_serial_name<'a, I>(mut iterator: I) -> Option where +fn find_serial_name<'a, I>(iterator: I) -> Option where I: Iterator { for at in iterator { diff --git a/src/json/ser.rs b/src/json/ser.rs index 3cd9192f..6ace7f03 100644 --- a/src/json/ser.rs +++ b/src/json/ser.rs @@ -288,7 +288,7 @@ impl ser::Serializer for Serializer { fn serialize_seq< T: Serialize, IoError>, Iter: Iterator - >(&mut self, mut iter: Iter) -> IoResult<()> { + >(&mut self, iter: Iter) -> IoResult<()> { try!(self.wr.write_str("[")); let mut first = true; for elt in iter { @@ -308,7 +308,7 @@ impl ser::Serializer for Serializer { K: Serialize, IoError>, V: Serialize, IoError>, Iter: Iterator - >(&mut self, mut iter: Iter) -> IoResult<()> { + >(&mut self, iter: Iter) -> IoResult<()> { try!(self.wr.write_str("{")); let mut first = true; for (key, value) in iter { @@ -542,7 +542,7 @@ impl ser::Serializer for PrettySerializer { fn serialize_seq< T: Serialize, IoError>, Iter: Iterator - >(&mut self, mut iter: Iter) -> IoResult<()> { + >(&mut self, iter: Iter) -> IoResult<()> { try!(self.wr.write_str("[")); self.first = true; @@ -559,7 +559,7 @@ impl ser::Serializer for PrettySerializer { K: Serialize, IoError>, V: Serialize, IoError>, Iter: Iterator - >(&mut self, mut iter: Iter) -> IoResult<()> { + >(&mut self, iter: Iter) -> IoResult<()> { try!(self.wr.write_str("{")); self.first = true; diff --git a/src/ser.rs b/src/ser.rs index 590c005f..1aec3dd6 100644 --- a/src/ser.rs +++ b/src/ser.rs @@ -552,7 +552,7 @@ mod tests { fn serialize_seq< T: Serialize, Error>, SeqIter: Iterator - >(&mut self, mut iter: SeqIter) -> Result<(), Error> { + >(&mut self, iter: SeqIter) -> Result<(), Error> { let (len, _) = iter.size_hint(); try!(self.serialize(Token::SeqStart(len))); for elt in iter { @@ -565,7 +565,7 @@ mod tests { K: Serialize, Error>, V: Serialize, Error>, MapIter: Iterator - >(&mut self, mut iter: MapIter) -> Result<(), Error> { + >(&mut self, iter: MapIter) -> Result<(), Error> { let (len, _) = iter.size_hint(); try!(self.serialize(Token::MapStart(len))); for (key, value) in iter { From a87fab9ecc8587b85ba965b6c7e2c288576664e1 Mon Sep 17 00:00:00 2001 From: Thomas Bahn Date: Fri, 6 Feb 2015 15:28:22 +0100 Subject: [PATCH 10/16] Simplify some code using auto-deref --- src/json/mod.rs | 6 +++--- src/json/value.rs | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/json/mod.rs b/src/json/mod.rs index 17d749bf..8d2670f7 100644 --- a/src/json/mod.rs +++ b/src/json/mod.rs @@ -285,7 +285,7 @@ fn main() { // Deserialize like before. - let mut parser = json::Parser::new(json_str.as_slice().bytes()); + let mut parser = json::Parser::new(json_str.bytes()); let deserialized: TestStruct1 = Deserialize::deserialize(&mut parser).unwrap(); } ``` @@ -1845,7 +1845,7 @@ mod bench { b.iter( || { use serialize::json::{Parser, JsonEvent, StackElement}; - let mut parser = Parser::new(src.as_slice().chars()); + let mut parser = Parser::new(src.chars()); assert_eq!(parser.next(), Some(JsonEvent::ArrayStart)); for _ in range(0, count) { assert_eq!(parser.next(), Some(JsonEvent::ObjectStart)); @@ -1882,7 +1882,7 @@ mod bench { let src = json_str(count); b.iter( || { - let mut parser = Parser::new(src.as_slice().bytes()); + let mut parser = Parser::new(src.bytes()); assert_eq!(parser.next(), Some(Ok(Token::SeqStart(0)))); for _ in range(0, count) { diff --git a/src/json/value.rs b/src/json/value.rs index 9fee4671..9dc80b8f 100644 --- a/src/json/value.rs +++ b/src/json/value.rs @@ -533,7 +533,7 @@ pub trait ToJson { } impl ToJson for Value { - fn to_json(&self) -> Value { (*self).clone() } + fn to_json(&self) -> Value { self.clone() } } impl ToJson for isize { @@ -593,7 +593,7 @@ impl<'a> ToJson for &'a str { } impl ToJson for String { - fn to_json(&self) -> Value { Value::String((*self).clone()) } + fn to_json(&self) -> Value { Value::String(self.clone()) } } macro_rules! peel_to_json_tuple { @@ -644,7 +644,7 @@ impl ToJson for BTreeMap { fn to_json(&self) -> Value { let mut d = BTreeMap::new(); for (key, value) in self { - d.insert((*key).clone(), value.to_json()); + d.insert(key.clone(), value.to_json()); } Value::Object(d) } @@ -654,7 +654,7 @@ impl ToJson for HashMap { fn to_json(&self) -> Value { let mut d = BTreeMap::new(); for (key, value) in self { - d.insert((*key).clone(), value.to_json()); + d.insert(key.clone(), value.to_json()); } Value::Object(d) } From 1cf41295c741d30ac2fee145741d66b362355f1f Mon Sep 17 00:00:00 2001 From: Thomas Bahn Date: Fri, 6 Feb 2015 15:22:04 +0100 Subject: [PATCH 11/16] Add feature gate `io` --- benches/bench_log.rs | 2 +- serde2/benches/bench_log.rs | 2 +- serde2/src/lib.rs | 2 ++ src/lib.rs | 3 +-- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/benches/bench_log.rs b/benches/bench_log.rs index 91a4a885..4d7ed731 100755 --- a/benches/bench_log.rs +++ b/benches/bench_log.rs @@ -1,4 +1,4 @@ -#![feature(plugin)] +#![feature(plugin, io)] #![allow(non_camel_case_types)] #[plugin] diff --git a/serde2/benches/bench_log.rs b/serde2/benches/bench_log.rs index 33b915f6..42bbefdd 100644 --- a/serde2/benches/bench_log.rs +++ b/serde2/benches/bench_log.rs @@ -1,4 +1,4 @@ -#![feature(plugin)] +#![feature(plugin, io)] #![allow(non_camel_case_types)] #[plugin] diff --git a/serde2/src/lib.rs b/serde2/src/lib.rs index 07ff1331..d8cbf30f 100644 --- a/serde2/src/lib.rs +++ b/serde2/src/lib.rs @@ -1,3 +1,5 @@ +#![feature(io)] + extern crate unicode; //pub use ser::{Serialize, Serializer}; diff --git a/src/lib.rs b/src/lib.rs index 9bda7ee4..c6b6b089 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,5 +1,4 @@ -#![feature(plugin)] -#![allow(unstable)] +#![feature(plugin, io)] #![crate_type = "dylib"] #![crate_type = "rlib"] From f2a6f0e710ea93991e0f747c7799ef394b640e96 Mon Sep 17 00:00:00 2001 From: Thomas Bahn Date: Fri, 6 Feb 2015 21:02:17 +0100 Subject: [PATCH 12/16] Follow rust std: `fmt::Writer` is implemented by `String` --- benches/bench_log.rs | 8 ++++---- serde2/benches/bench_log.rs | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/benches/bench_log.rs b/benches/bench_log.rs index 4d7ed731..6194bcae 100755 --- a/benches/bench_log.rs +++ b/benches/bench_log.rs @@ -674,21 +674,21 @@ fn test_encoder() { let log = Log::new(); - let mut wr = Vec::with_capacity(1024); + let mut wr = String::with_capacity(1024); { let mut encoder = rustc_serialize::json::Encoder::new(&mut wr); log.encode(&mut encoder).unwrap(); } - assert_eq!(&wr[], JSON_STR.as_bytes()); + assert_eq!(&wr[], JSON_STR); } #[bench] fn bench_encoder(b: &mut Bencher) { let log = Log::new(); - let mut wr = Vec::with_capacity(1024); + let mut wr = String::with_capacity(1024); { let mut encoder = rustc_serialize::json::Encoder::new(&mut wr); @@ -731,7 +731,7 @@ fn test_serializer_vec() { log.serialize(&mut serializer).unwrap(); let json = serializer.unwrap(); - assert_eq!(json.as_slice(), JSON_STR.as_bytes()); + assert_eq!(&json[], JSON_STR.as_bytes()); } #[bench] diff --git a/serde2/benches/bench_log.rs b/serde2/benches/bench_log.rs index 42bbefdd..4edb6c9b 100644 --- a/serde2/benches/bench_log.rs +++ b/serde2/benches/bench_log.rs @@ -982,21 +982,21 @@ fn test_encoder() { let log = Log::new(); - let mut wr = Vec::with_capacity(1024); + let mut wr = String::with_capacity(1024); { let mut encoder = rustc_serialize::json::Encoder::new(&mut wr); log.encode(&mut encoder).unwrap(); } - assert_eq!(&wr[], JSON_STR.as_bytes()); + assert_eq!(&wr[], JSON_STR); } #[bench] fn bench_encoder(b: &mut Bencher) { let log = Log::new(); - let mut wr = Vec::with_capacity(1024); + let mut wr = String::with_capacity(1024); { let mut encoder = rustc_serialize::json::Encoder::new(&mut wr); From 03820f3d785e84bdb79302b9f6396dbdb6aed68f Mon Sep 17 00:00:00 2001 From: Thomas Bahn Date: Fri, 6 Feb 2015 21:09:52 +0100 Subject: [PATCH 13/16] Switch to rustc_serialize for tests --- src/json/mod.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/json/mod.rs b/src/json/mod.rs index 8d2670f7..10edb221 100644 --- a/src/json/mod.rs +++ b/src/json/mod.rs @@ -1700,7 +1700,7 @@ mod tests { mod bench { use std::collections::BTreeMap; use std::string; - use serialize; + use rustc_serialize as serialize; use test::Bencher; use de::Token; @@ -1748,7 +1748,7 @@ mod bench { } fn encoder_json(count: usize) -> serialize::json::Json { - use serialize::json::Json; + use rustc_serialize::json::Json; let mut list = vec!(); for _ in range(0, count) { @@ -1827,7 +1827,7 @@ mod bench { let src = json_str(count); let json = encoder_json(count); b.iter(|| { - assert_eq!(json, serialize::json::from_str(&src).unwrap()); + assert_eq!(json, serialize::json::Json::from_str(&src).unwrap()); }); } @@ -1835,7 +1835,7 @@ mod bench { let src = json_str(count); let json = encoder_json(count); b.iter(|| { - assert_eq!(json, serialize::json::from_str(&src).unwrap()); + assert_eq!(json, serialize::json::Json::from_str(&src).unwrap()); }); } @@ -1843,7 +1843,7 @@ mod bench { let src = json_str(count); b.iter( || { - use serialize::json::{Parser, JsonEvent, StackElement}; + use rustc_serialize::json::{Parser, JsonEvent, StackElement}; let mut parser = Parser::new(src.chars()); assert_eq!(parser.next(), Some(JsonEvent::ArrayStart)); From 70e8556e070df017d04f90107d9f7c60399e6c67 Mon Sep 17 00:00:00 2001 From: Thomas Bahn Date: Fri, 6 Feb 2015 21:10:58 +0100 Subject: [PATCH 14/16] Follow rustc: New destructor semantics --- src/json/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/json/mod.rs b/src/json/mod.rs index 10edb221..256bdc8c 100644 --- a/src/json/mod.rs +++ b/src/json/mod.rs @@ -1266,8 +1266,8 @@ mod tests { #[test] fn test_as_object() { let json_value: Value = from_str("{}").unwrap(); - let json_object = json_value.as_object(); let map = BTreeMap::::new(); + let json_object = json_value.as_object(); assert_eq!(json_object, Some(&map)); } From f18c28161db10b05bf9a9a22f9390700eab3676d Mon Sep 17 00:00:00 2001 From: Thomas Bahn Date: Fri, 6 Feb 2015 22:01:19 +0100 Subject: [PATCH 15/16] Follow rust std: `Peekable` changed signature --- serde2/src/de.rs | 2 +- serde2/src/json/de.rs | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/serde2/src/de.rs b/serde2/src/de.rs index 0a07a11a..91af3885 100644 --- a/serde2/src/de.rs +++ b/serde2/src/de.rs @@ -704,7 +704,7 @@ mod tests { } struct TokenDeserializer<'a> { - tokens: iter::Peekable, vec::IntoIter>>, + tokens: iter::Peekable>>, } impl<'a> TokenDeserializer<'a> { diff --git a/serde2/src/json/de.rs b/serde2/src/json/de.rs index 73d797bd..85e23a4d 100644 --- a/serde2/src/json/de.rs +++ b/serde2/src/json/de.rs @@ -528,12 +528,11 @@ pub fn from_str<'a, T>(s: &'a str) -> Result #[cfg(test)] mod tests { - use std::str; use std::fmt::Debug; use std::collections::BTreeMap; use de::Deserialize; - use super::{Parser, from_str}; + use super::from_str; use super::super::error::{Error, ErrorCode}; macro_rules! treemap { From 648ae2e3a3fb86a78002d2558871e97a6858fce4 Mon Sep 17 00:00:00 2001 From: Thomas Bahn Date: Fri, 6 Feb 2015 22:57:50 +0100 Subject: [PATCH 16/16] Ignore serde2/Cargo.lock in git --- .gitignore | 1 + serde2/Cargo.lock | 17 ----------------- 2 files changed, 1 insertion(+), 17 deletions(-) delete mode 100644 serde2/Cargo.lock diff --git a/.gitignore b/.gitignore index e9e21997..a942eca1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /target/ /Cargo.lock +/serde2/Cargo.lock diff --git a/serde2/Cargo.lock b/serde2/Cargo.lock deleted file mode 100644 index 60a285be..00000000 --- a/serde2/Cargo.lock +++ /dev/null @@ -1,17 +0,0 @@ -[root] -name = "serde2" -version = "0.1.0" -dependencies = [ - "rustc-serialize 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", - "serde2_macros 0.1.0", -] - -[[package]] -name = "rustc-serialize" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "serde2_macros" -version = "0.1.0" -