serialize: use Result

All of Decoder and Encoder's methods now return a Result.

Encodable.encode() and Decodable.decode() return a Result as well.

fixes #12292
This commit is contained in:
Sean McArthur 2014-03-18 10:58:26 -07:00
parent 13dafa09f1
commit f1739b14a1
27 changed files with 6558 additions and 1419 deletions

View file

@ -288,7 +288,8 @@ mod test {
use util::parser_testing::{string_to_expr, string_to_item};
use util::parser_testing::string_to_stmt;
#[cfg(test)]
// FIXME: remove stage0 to_json_str after snapshot
#[cfg(stage0)]
fn to_json_str<'a, E: Encodable<json::Encoder<'a>>>(val: &E) -> ~str {
let mut writer = MemWriter::new();
let mut encoder = json::Encoder::new(&mut writer as &mut io::Writer);
@ -296,6 +297,14 @@ mod test {
str::from_utf8_owned(writer.unwrap()).unwrap()
}
#[cfg(not(stage0))]
fn to_json_str<'a, E: Encodable<json::Encoder<'a>, io::IoError>>(val: &E) -> ~str {
let mut writer = MemWriter::new();
let mut encoder = json::Encoder::new(&mut writer as &mut io::Writer);
let _ = val.encode(&mut encoder);
str::from_utf8_owned(writer.unwrap()).unwrap()
}
// produce a codemap::span
fn sp(a: u32, b: u32) -> Span {
Span{lo:BytePos(a),hi:BytePos(b),expn_info:None}