updated serde to version 1.0

This commit is contained in:
debris
2017-07-06 11:36:15 +02:00
parent cc718bb108
commit 61d8f90530
116 changed files with 553 additions and 662 deletions

View File

@@ -5,9 +5,9 @@ authors = ["Parity Technologies <admin@parity.io>"]
[dependencies]
ethcore-util = { path = "../util" }
rustc-serialize = "0.3"
serde = "0.9"
serde_json = "0.9"
serde_derive = "0.9"
rustc-hex = "1.0"
serde = "1.0"
serde_json = "1.0"
serde_derive = "1.0"
clippy = { version = "0.0.103", optional = true}

View File

@@ -19,7 +19,7 @@
use std::fmt;
use std::str::FromStr;
use std::ops::Deref;
use rustc_serialize::hex::FromHex;
use rustc_hex::FromHex;
use serde::{Deserialize, Deserializer};
use serde::de::{Error, Visitor};
@@ -67,16 +67,16 @@ impl FromStr for Bytes {
}
}
impl Deserialize for Bytes {
impl<'a> Deserialize<'a> for Bytes {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer {
deserializer.deserialize(BytesVisitor)
where D: Deserializer<'a> {
deserializer.deserialize_any(BytesVisitor)
}
}
struct BytesVisitor;
impl Visitor for BytesVisitor {
impl<'a> Visitor<'a> for BytesVisitor {
type Value = Bytes;
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {

View File

@@ -20,7 +20,7 @@ use std::str::FromStr;
use std::fmt;
use serde::{Deserialize, Deserializer, Serialize, Serializer};
use serde::de::{Error, Visitor};
use rustc_serialize::hex::ToHex;
use rustc_hex::ToHex;
use util::hash::{H64 as Hash64, H160 as Hash160, H256 as Hash256, H520 as Hash520, H2048 as Hash2048};
@@ -42,13 +42,13 @@ macro_rules! impl_hash {
}
}
impl Deserialize for $name {
impl<'a> Deserialize<'a> for $name {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer {
where D: Deserializer<'a> {
struct HashVisitor;
impl Visitor for HashVisitor {
impl<'b> Visitor<'b> for HashVisitor {
type Value = $name;
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
@@ -75,7 +75,7 @@ macro_rules! impl_hash {
}
}
deserializer.deserialize(HashVisitor)
deserializer.deserialize_any(HashVisitor)
}
}

View File

@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
extern crate rustc_serialize;
extern crate rustc_hex;
extern crate serde;
extern crate serde_json;
extern crate ethcore_util as util;

View File

@@ -4,8 +4,7 @@
use std::fmt;
use std::marker::PhantomData;
use serde::{Deserialize, Deserializer};
use serde::de::{Error, Visitor};
use serde::de::value::ValueDeserializer;
use serde::de::{Error, Visitor, IntoDeserializer};
/// Deserializer of empty string values into optionals.
#[derive(Debug, PartialEq, Clone)]
@@ -16,10 +15,10 @@ pub enum MaybeEmpty<T> {
None,
}
impl<T> Deserialize for MaybeEmpty<T> where T: Deserialize {
impl<'a, T> Deserialize<'a> for MaybeEmpty<T> where T: Deserialize<'a> {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer {
deserializer.deserialize(MaybeEmptyVisitor::new())
where D: Deserializer<'a> {
deserializer.deserialize_any(MaybeEmptyVisitor::new())
}
}
@@ -35,7 +34,7 @@ impl<T> MaybeEmptyVisitor<T> {
}
}
impl<T> Visitor for MaybeEmptyVisitor<T> where T: Deserialize {
impl<'a, T> Visitor<'a> for MaybeEmptyVisitor<T> where T: Deserialize<'a> {
type Value = MaybeEmpty<T>;
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {

View File

@@ -236,6 +236,7 @@ mod tests {
eip161d_transition: Some(Uint(U256::from(0x47))),
ecip1010_pause_transition: None,
ecip1010_continue_transition: None,
ecip1017_era_rounds: None,
max_code_size: None,
max_gas_limit_transition: None,
max_gas_limit: None,
@@ -282,6 +283,7 @@ mod tests {
eip161d_transition: None,
ecip1010_pause_transition: None,
ecip1010_continue_transition: None,
ecip1017_era_rounds: None,
max_code_size: None,
max_gas_limit_transition: None,
max_gas_limit: None,

View File

@@ -21,7 +21,7 @@ use std::collections::BTreeMap;
use std::str::FromStr;
use bytes::Bytes;
use serde::{Deserialize, Deserializer};
use serde::de::{Error as ErrorTrait, Visitor, MapVisitor, SeqVisitor};
use serde::de::{Error as ErrorTrait, Visitor, MapAccess, SeqAccess};
/// Trie test input.
#[derive(Debug, PartialEq)]
@@ -30,35 +30,35 @@ pub struct Input {
pub data: BTreeMap<Bytes, Option<Bytes>>,
}
impl Deserialize for Input {
impl<'a> Deserialize<'a> for Input {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer
where D: Deserializer<'a>
{
deserializer.deserialize(InputVisitor)
deserializer.deserialize_any(InputVisitor)
}
}
struct InputVisitor;
impl Visitor for InputVisitor {
impl<'a> Visitor<'a> for InputVisitor {
type Value = Input;
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
write!(formatter, "a map of bytes into bytes")
}
fn visit_map<V>(self, mut visitor: V) -> Result<Self::Value, V::Error> where V: MapVisitor {
fn visit_map<V>(self, mut visitor: V) -> Result<Self::Value, V::Error> where V: MapAccess<'a> {
let mut result = BTreeMap::new();
loop {
let key_str: Option<String> = visitor.visit_key()?;
let key_str: Option<String> = visitor.next_key()?;
let key = match key_str {
Some(ref k) if k.starts_with("0x") => Bytes::from_str(k).map_err(V::Error::custom)?,
Some(k) => Bytes::new(k.into_bytes()),
None => { break; }
};
let val_str: Option<String> = visitor.visit_value()?;
let val_str: Option<String> = visitor.next_value()?;
let val = match val_str {
Some(ref v) if v.starts_with("0x") => Some(Bytes::from_str(v).map_err(V::Error::custom)?),
Some(v) => Some(Bytes::new(v.into_bytes())),
@@ -75,11 +75,11 @@ impl Visitor for InputVisitor {
Ok(input)
}
fn visit_seq<V>(self, mut visitor: V) -> Result<Self::Value, V::Error> where V: SeqVisitor {
fn visit_seq<V>(self, mut visitor: V) -> Result<Self::Value, V::Error> where V: SeqAccess<'a> {
let mut result = BTreeMap::new();
loop {
let keyval: Option<Vec<Option<String>>> = visitor.visit()?;
let keyval: Option<Vec<Option<String>>> = visitor.next_element()?;
let keyval = match keyval {
Some(k) => k,
_ => { break; },

View File

@@ -50,16 +50,16 @@ impl Into<u8> for Uint {
}
}
impl Deserialize for Uint {
impl<'a> Deserialize<'a> for Uint {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer {
deserializer.deserialize(UintVisitor)
where D: Deserializer<'a> {
deserializer.deserialize_any(UintVisitor)
}
}
struct UintVisitor;
impl Visitor for UintVisitor {
impl<'a> Visitor<'a> for UintVisitor {
type Value = Uint;
fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {