use std::io::Write; use crate::ser::error::Result; use super::{RealFormat, WriteReal}; macro_rules! impl_write_real_for_fast_format { ($($prim:ident with $xtoa:ident),*) => { $(impl WriteReal<$prim> for FastRealFormat { fn write_real(w: &mut W, r: $prim) -> Result<()> { $xtoa::write(w, r).map(|_| ()).map_err(|e| e.into()) } })* } } pub struct FastRealFormat; impl_write_real_for_fast_format!( i8 with itoa, i16 with itoa, i32 with itoa, i64 with itoa, u8 with itoa, u16 with itoa, u32 with itoa, u64 with itoa, f32 with dtoa, f64 with dtoa ); impl RealFormat for FastRealFormat {}