add strings back

This commit is contained in:
Erick Tryzelaar 2014-10-03 07:54:52 -07:00
parent e605d70af1
commit eef1587b84

View File

@ -31,6 +31,10 @@ pub trait Visitor<D: Deserializer<E>, R, E> {
Err(d.syntax_error())
}
fn visit_string(&mut self, d: &mut D, _v: String) -> Result<R, E> {
Err(d.syntax_error())
}
fn visit_option<
V: OptionVisitor<D, E>
>(&mut self, d: &mut D, _visitor: V) -> Result<R, E> {
@ -103,6 +107,25 @@ impl<
///////////////////////////////////////////////////////////////////////////////
impl<
D: Deserializer<E>,
E,
> Deserialize<D, E> for String {
fn deserialize(d: &mut D) -> Result<String, E> {
struct Visitor;
impl<D: Deserializer<E>, E> self::Visitor<D, String, E> for Visitor {
fn visit_string(&mut self, _d: &mut D, v: String) -> Result<String, E> {
Ok(v)
}
}
d.visit(&mut Visitor)
}
}
///////////////////////////////////////////////////////////////////////////////
impl<
T: Deserialize<D, E>,
D: Deserializer<E>,