address comments by erickt

This commit is contained in:
Oliver Schneider
2015-05-08 16:32:46 +02:00
parent c117a680cf
commit 83ee86122b
2 changed files with 9 additions and 39 deletions
+2 -34
View File
@@ -93,10 +93,6 @@ macro_rules! impl_deserialize_num_method {
}
}
pub struct NumericVisitor<T> {
marker: PhantomData<T>,
}
pub struct PrimitiveVisitor<T> {
marker: PhantomData<T>,
}
@@ -110,18 +106,9 @@ impl<T> PrimitiveVisitor<T> {
}
}
impl<T> NumericVisitor<T> {
#[inline]
pub fn new() -> Self {
NumericVisitor {
marker: PhantomData,
}
}
}
impl<
T: Deserialize + FromPrimitive + str::FromStr
> Visitor for NumericVisitor<T> {
> Visitor for PrimitiveVisitor<T> {
type Value = T;
impl_deserialize_num_method!(isize, visit_isize, from_isize);
@@ -145,25 +132,6 @@ impl<
}
}
impl<
T: Deserialize + FromPrimitive
> Visitor for PrimitiveVisitor<T> {
type Value = T;
impl_deserialize_num_method!(isize, visit_isize, from_isize);
impl_deserialize_num_method!(i8, visit_i8, from_i8);
impl_deserialize_num_method!(i16, visit_i16, from_i16);
impl_deserialize_num_method!(i32, visit_i32, from_i32);
impl_deserialize_num_method!(i64, visit_i64, from_i64);
impl_deserialize_num_method!(usize, visit_usize, from_usize);
impl_deserialize_num_method!(u8, visit_u8, from_u8);
impl_deserialize_num_method!(u16, visit_u16, from_u16);
impl_deserialize_num_method!(u32, visit_u32, from_u32);
impl_deserialize_num_method!(u64, visit_u64, from_u64);
impl_deserialize_num_method!(f32, visit_f32, from_f32);
impl_deserialize_num_method!(f64, visit_f64, from_f64);
}
macro_rules! impl_deserialize_num {
($ty:ty) => {
impl Deserialize for $ty {
@@ -171,7 +139,7 @@ macro_rules! impl_deserialize_num {
fn deserialize<D>(deserializer: &mut D) -> Result<$ty, D::Error>
where D: Deserializer,
{
deserializer.visit(NumericVisitor::new())
deserializer.visit(PrimitiveVisitor::new())
}
}
}