use std::fmt;
use std::marker::PhantomData;
use std::str::FromStr;
use serde::Deserialize;
use serde::Deserializer;
use super::IntegerVisitor;
pub(in crate::wide_integer) struct ParsedInteger<T>(
pub(in crate::wide_integer) T,
);
impl<'de, T> Deserialize<'de> for ParsedInteger<T>
where
T: FromStr + fmt::Display,
T::Err: fmt::Display,
{
#[inline]
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where
D: Deserializer<'de>,
{
deserializer
.deserialize_str(IntegerVisitor(PhantomData))
.map(Self)
}
}