Use question_mark feature in libserialize.

This commit is contained in:
Ahmed Charles 2016-08-27 07:16:17 -07:00
parent 14d3937e65
commit d73e374ddb
2 changed files with 9 additions and 10 deletions

View File

@ -475,15 +475,14 @@ impl<'a> Encoder<'a> {
} }
macro_rules! emit_enquoted_if_mapkey { macro_rules! emit_enquoted_if_mapkey {
($enc:ident,$e:expr) => { ($enc:ident,$e:expr) => ({
if $enc.is_emitting_map_key { if $enc.is_emitting_map_key {
try!(write!($enc.writer, "\"{}\"", $e)); write!($enc.writer, "\"{}\"", $e)?;
Ok(())
} else { } else {
try!(write!($enc.writer, "{}", $e)); write!($enc.writer, "{}", $e)?;
Ok(())
} }
} Ok(())
})
} }
impl<'a> ::Encoder for Encoder<'a> { impl<'a> ::Encoder for Encoder<'a> {

View File

@ -511,10 +511,10 @@ macro_rules! tuple {
let len: usize = count_idents!($($name,)*); let len: usize = count_idents!($($name,)*);
d.read_tuple(len, |d| { d.read_tuple(len, |d| {
let mut i = 0; let mut i = 0;
let ret = ($(try!(d.read_tuple_arg({ i+=1; i-1 }, let ret = ($(d.read_tuple_arg({ i+=1; i-1 },
|d| -> Result<$name,D::Error> { |d| -> Result<$name,D::Error> {
Decodable::decode(d) Decodable::decode(d)
})),)*); })?,)*);
Ok(ret) Ok(ret)
}) })
} }
@ -527,7 +527,7 @@ macro_rules! tuple {
$(let $name = $name; n += 1;)* $(let $name = $name; n += 1;)*
s.emit_tuple(n, |s| { s.emit_tuple(n, |s| {
let mut i = 0; let mut i = 0;
$(try!(s.emit_tuple_arg({ i+=1; i-1 }, |s| $name.encode(s)));)* $(s.emit_tuple_arg({ i+=1; i-1 }, |s| $name.encode(s))?;)*
Ok(()) Ok(())
}) })
} }