Rename visit_simple to visit_newtype

This commit is contained in:
Erick Tryzelaar
2015-07-29 15:41:37 -07:00
parent fefc010deb
commit 6715fb6652
6 changed files with 17 additions and 15 deletions
+2 -2
View File
@@ -924,11 +924,11 @@ impl<T, E> Deserialize for Result<T, E> where T: Deserialize, E: Deserialize {
{ {
match try!(visitor.visit_variant()) { match try!(visitor.visit_variant()) {
Field::Ok => { Field::Ok => {
let value = try!(visitor.visit_simple()); let value = try!(visitor.visit_newtype());
Ok(Ok(value)) Ok(Ok(value))
} }
Field::Err => { Field::Err => {
let value = try!(visitor.visit_simple()); let value = try!(visitor.visit_newtype());
Ok(Err(value)) Ok(Err(value))
} }
} }
+4 -4
View File
@@ -579,8 +579,8 @@ pub trait VariantVisitor {
Err(Error::syntax_error()) Err(Error::syntax_error())
} }
/// `visit_simple` is called when deserializing a variant with a single value. /// `visit_newtype` is called when deserializing a variant with a single value.
fn visit_simple<T>(&mut self) -> Result<T, Self::Error> fn visit_newtype<T>(&mut self) -> Result<T, Self::Error>
where T: Deserialize, where T: Deserialize,
{ {
Err(Error::syntax_error()) Err(Error::syntax_error())
@@ -618,10 +618,10 @@ impl<'a, T> VariantVisitor for &'a mut T where T: VariantVisitor {
(**self).visit_unit() (**self).visit_unit()
} }
fn visit_simple<D>(&mut self) -> Result<D, T::Error> fn visit_newtype<D>(&mut self) -> Result<D, T::Error>
where D: Deserialize, where D: Deserialize,
{ {
(**self).visit_simple() (**self).visit_newtype()
} }
fn visit_tuple<V>(&mut self, fn visit_tuple<V>(&mut self,
+1 -1
View File
@@ -574,7 +574,7 @@ fn deserialize_variant(
} }
ast::TupleVariantKind(ref args) if args.len() == 1 => { ast::TupleVariantKind(ref args) if args.len() == 1 => {
quote_expr!(cx, { quote_expr!(cx, {
let val = try!(visitor.visit_simple()); let val = try!(visitor.visit_newtype());
Ok($type_ident::$variant_ident(val)) Ok($type_ident::$variant_ident(val))
}) })
} }
+3 -1
View File
@@ -644,7 +644,9 @@ impl<Iter> de::VariantVisitor for Deserializer<Iter>
de::Deserialize::deserialize(self) de::Deserialize::deserialize(self)
} }
fn visit_simple<T: de::Deserialize>(&mut self) -> Result<T, Error> { fn visit_newtype<T>(&mut self) -> Result<T, Error>
where T: de::Deserialize,
{
de::Deserialize::deserialize(self) de::Deserialize::deserialize(self)
} }
+1 -1
View File
@@ -747,7 +747,7 @@ impl<'a> de::VariantVisitor for VariantDeserializer<'a> {
de::Deserialize::deserialize(&mut Deserializer::new(self.val.take().unwrap())) de::Deserialize::deserialize(&mut Deserializer::new(self.val.take().unwrap()))
} }
fn visit_simple<T>(&mut self) -> Result<T, Error> fn visit_newtype<T>(&mut self) -> Result<T, Error>
where T: de::Deserialize, where T: de::Deserialize,
{ {
de::Deserialize::deserialize(&mut Deserializer::new(self.val.take().unwrap())) de::Deserialize::deserialize(&mut Deserializer::new(self.val.take().unwrap()))
+6 -6
View File
@@ -40,7 +40,7 @@ enum Token {
EnumStart(&'static str), EnumStart(&'static str),
EnumUnit, EnumUnit,
EnumSimple, EnumNewtype,
EnumSeq, EnumSeq,
EnumMap, EnumMap,
EnumEnd, EnumEnd,
@@ -339,11 +339,11 @@ impl<'a> de::VariantVisitor for TokenDeserializerVariantVisitor<'a> {
} }
} }
fn visit_simple<T>(&mut self) -> Result<T, Self::Error> fn visit_newtype<T>(&mut self) -> Result<T, Self::Error>
where T: de::Deserialize, where T: de::Deserialize,
{ {
match self.de.tokens.next() { match self.de.tokens.next() {
Some(Token::EnumSimple) => { Some(Token::EnumNewtype) => {
de::Deserialize::deserialize(self.de) de::Deserialize::deserialize(self.de)
} }
Some(_) => Err(Error::SyntaxError), Some(_) => Err(Error::SyntaxError),
@@ -541,7 +541,7 @@ declare_tests! {
Token::EnumStart("Result"), Token::EnumStart("Result"),
Token::Str("Ok"), Token::Str("Ok"),
Token::EnumSimple, Token::EnumNewtype,
Token::I32(0), Token::I32(0),
Token::SeqEnd, Token::SeqEnd,
], ],
@@ -549,7 +549,7 @@ declare_tests! {
Token::EnumStart("Result"), Token::EnumStart("Result"),
Token::Str("Err"), Token::Str("Err"),
Token::EnumSimple, Token::EnumNewtype,
Token::I32(1), Token::I32(1),
Token::SeqEnd, Token::SeqEnd,
], ],
@@ -934,7 +934,7 @@ declare_tests! {
Token::EnumStart("Enum"), Token::EnumStart("Enum"),
Token::Str("Simple"), Token::Str("Simple"),
Token::EnumSimple, Token::EnumNewtype,
Token::I32(1), Token::I32(1),
Token::EnumEnd, Token::EnumEnd,
], ],