update to rust HEAD, switch to rustc_serialize

This commit is contained in:
Erick Tryzelaar
2015-01-04 17:18:50 -08:00
parent f1929ca86d
commit b98719a4a0
16 changed files with 219 additions and 182 deletions
+14 -12
View File
@@ -1,23 +1,23 @@
#![feature(phase)]
#![feature(associated_types, phase, old_orphan_check)]
#[phase(plugin)]
extern crate serde_macros;
extern crate serde;
extern crate serialize;
extern crate "rustc-serialize" as rustc_serialize;
extern crate test;
use std::collections::HashMap;
use test::Bencher;
use serialize::{Decoder, Decodable};
use rustc_serialize::{Decoder, Decodable};
use serde::de::{Deserializer, Deserialize};
//////////////////////////////////////////////////////////////////////////////
#[deriving(Clone, PartialEq, Show, Decodable)]
#[deriving_deserialize]
#[derive(Clone, PartialEq, Show, RustcDecodable)]
#[derive_deserialize]
struct Inner {
a: (),
b: uint,
@@ -26,15 +26,15 @@ struct Inner {
//////////////////////////////////////////////////////////////////////////////
#[deriving(Clone, PartialEq, Show, Decodable)]
#[deriving_deserialize]
#[derive(Clone, PartialEq, Show, RustcDecodable)]
#[derive_deserialize]
struct Outer {
inner: Vec<Inner>,
}
//////////////////////////////////////////////////////////////////////////////
#[deriving(Show)]
#[derive(Show)]
pub enum Error {
EndOfStream,
SyntaxError(String),
@@ -46,7 +46,7 @@ pub enum Error {
mod decoder {
use std::collections::HashMap;
use serialize::Decoder;
use rustc_serialize::Decoder;
use super::{Outer, Inner, Error};
@@ -63,7 +63,7 @@ mod decoder {
OptionState,
};
#[deriving(Show)]
#[derive(Show)]
enum State {
OuterState(Outer),
InnerState(Inner),
@@ -337,7 +337,7 @@ mod deserializer {
EndState,
};
#[deriving(Show)]
#[derive(Show)]
enum State {
OuterState(Outer),
InnerState(Inner),
@@ -366,7 +366,9 @@ mod deserializer {
}
}
impl Iterator<Result<de::Token, Error>> for OuterDeserializer {
impl Iterator for OuterDeserializer {
type Item = Result<de::Token, Error>;
#[inline]
fn next(&mut self) -> Option<Result<de::Token, Error>> {
match self.stack.pop() {