pub trait NsonSerialize: NsonSchema {
// Required method
fn nextencode<E: FormatEncoder>(
&self,
encoder: &mut E,
) -> Result<(), E::Error>;
}Expand description
Serialization trait: nextencode Self into any FormatEncoder.
The format is a generic parameter, so method bodies are monomorphized at
compile time with no dynamic dispatch. JSON, CBOR, and every codec in
crate::formats implement FormatEncoder.
Required Methods§
Sourcefn nextencode<E: FormatEncoder>(&self, encoder: &mut E) -> Result<(), E::Error>
fn nextencode<E: FormatEncoder>(&self, encoder: &mut E) -> Result<(), E::Error>
Next-encode self into encoder.
Errors are produced in the target format’s own error type
(FormatEncoder::Error).
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl NsonSerialize for ()
impl NsonSerialize for ()
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for AtomicBool
impl NsonSerialize for AtomicBool
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for AtomicI8
impl NsonSerialize for AtomicI8
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for AtomicI16
impl NsonSerialize for AtomicI16
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for AtomicI32
impl NsonSerialize for AtomicI32
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for AtomicI64
impl NsonSerialize for AtomicI64
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for AtomicIsize
impl NsonSerialize for AtomicIsize
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for AtomicU8
impl NsonSerialize for AtomicU8
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for AtomicU16
impl NsonSerialize for AtomicU16
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for AtomicU32
impl NsonSerialize for AtomicU32
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for AtomicU64
impl NsonSerialize for AtomicU64
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for AtomicUsize
impl NsonSerialize for AtomicUsize
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for Duration
impl NsonSerialize for Duration
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for IpAddr
Available on crate feature std only.
impl NsonSerialize for IpAddr
Available on crate feature
std only.fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for Ipv4Addr
Available on crate feature std only.
impl NsonSerialize for Ipv4Addr
Available on crate feature
std only.fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for Ipv6Addr
Available on crate feature std only.
impl NsonSerialize for Ipv6Addr
Available on crate feature
std only.fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for Path
Available on crate feature std only.
impl NsonSerialize for Path
Available on crate feature
std only.fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for PathBuf
Available on crate feature std only.
impl NsonSerialize for PathBuf
Available on crate feature
std only.fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for SocketAddr
Available on crate feature std only.
impl NsonSerialize for SocketAddr
Available on crate feature
std only.fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for String
impl NsonSerialize for String
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for bool
impl NsonSerialize for bool
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for char
impl NsonSerialize for char
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for f32
impl NsonSerialize for f32
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for f64
impl NsonSerialize for f64
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for i8
impl NsonSerialize for i8
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for i16
impl NsonSerialize for i16
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for i32
impl NsonSerialize for i32
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for i64
impl NsonSerialize for i64
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for i128
impl NsonSerialize for i128
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for isize
impl NsonSerialize for isize
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for str
impl NsonSerialize for str
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for u8
impl NsonSerialize for u8
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for u16
impl NsonSerialize for u16
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for u32
impl NsonSerialize for u32
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for u64
impl NsonSerialize for u64
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for u128
impl NsonSerialize for u128
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl NsonSerialize for usize
impl NsonSerialize for usize
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl<'a> NsonSerialize for Cow<'a, str>
impl<'a> NsonSerialize for Cow<'a, str>
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl<A: NsonSerialize, B: NsonSerialize, C: NsonSerialize, D: NsonSerialize, E: NsonSerialize, F: NsonSerialize, G: NsonSerialize, H: NsonSerialize, I: NsonSerialize, J: NsonSerialize, K: NsonSerialize, L: NsonSerialize> NsonSerialize for (A, B, C, D, E, F, G, H, I, J, K, L)
impl<A: NsonSerialize, B: NsonSerialize, C: NsonSerialize, D: NsonSerialize, E: NsonSerialize, F: NsonSerialize, G: NsonSerialize, H: NsonSerialize, I: NsonSerialize, J: NsonSerialize, K: NsonSerialize, L: NsonSerialize> NsonSerialize for (A, B, C, D, E, F, G, H, I, J, K, L)
fn nextencode<__E: FormatEncoder>(&self, e: &mut __E) -> Result<(), __E::Error>
Source§impl<A: NsonSerialize, B: NsonSerialize, C: NsonSerialize, D: NsonSerialize, E: NsonSerialize, F: NsonSerialize, G: NsonSerialize, H: NsonSerialize, I: NsonSerialize, J: NsonSerialize, K: NsonSerialize> NsonSerialize for (A, B, C, D, E, F, G, H, I, J, K)
impl<A: NsonSerialize, B: NsonSerialize, C: NsonSerialize, D: NsonSerialize, E: NsonSerialize, F: NsonSerialize, G: NsonSerialize, H: NsonSerialize, I: NsonSerialize, J: NsonSerialize, K: NsonSerialize> NsonSerialize for (A, B, C, D, E, F, G, H, I, J, K)
fn nextencode<__E: FormatEncoder>(&self, e: &mut __E) -> Result<(), __E::Error>
Source§impl<A: NsonSerialize, B: NsonSerialize, C: NsonSerialize, D: NsonSerialize, E: NsonSerialize, F: NsonSerialize, G: NsonSerialize, H: NsonSerialize, I: NsonSerialize, J: NsonSerialize> NsonSerialize for (A, B, C, D, E, F, G, H, I, J)
impl<A: NsonSerialize, B: NsonSerialize, C: NsonSerialize, D: NsonSerialize, E: NsonSerialize, F: NsonSerialize, G: NsonSerialize, H: NsonSerialize, I: NsonSerialize, J: NsonSerialize> NsonSerialize for (A, B, C, D, E, F, G, H, I, J)
fn nextencode<__E: FormatEncoder>(&self, e: &mut __E) -> Result<(), __E::Error>
Source§impl<A: NsonSerialize, B: NsonSerialize, C: NsonSerialize, D: NsonSerialize, E: NsonSerialize, F: NsonSerialize, G: NsonSerialize, H: NsonSerialize, I: NsonSerialize> NsonSerialize for (A, B, C, D, E, F, G, H, I)
impl<A: NsonSerialize, B: NsonSerialize, C: NsonSerialize, D: NsonSerialize, E: NsonSerialize, F: NsonSerialize, G: NsonSerialize, H: NsonSerialize, I: NsonSerialize> NsonSerialize for (A, B, C, D, E, F, G, H, I)
fn nextencode<__E: FormatEncoder>(&self, e: &mut __E) -> Result<(), __E::Error>
Source§impl<A: NsonSerialize, B: NsonSerialize, C: NsonSerialize, D: NsonSerialize, E: NsonSerialize, F: NsonSerialize, G: NsonSerialize, H: NsonSerialize> NsonSerialize for (A, B, C, D, E, F, G, H)
impl<A: NsonSerialize, B: NsonSerialize, C: NsonSerialize, D: NsonSerialize, E: NsonSerialize, F: NsonSerialize, G: NsonSerialize, H: NsonSerialize> NsonSerialize for (A, B, C, D, E, F, G, H)
fn nextencode<__E: FormatEncoder>(&self, e: &mut __E) -> Result<(), __E::Error>
Source§impl<A: NsonSerialize, B: NsonSerialize, C: NsonSerialize, D: NsonSerialize, E: NsonSerialize, F: NsonSerialize, G: NsonSerialize> NsonSerialize for (A, B, C, D, E, F, G)
impl<A: NsonSerialize, B: NsonSerialize, C: NsonSerialize, D: NsonSerialize, E: NsonSerialize, F: NsonSerialize, G: NsonSerialize> NsonSerialize for (A, B, C, D, E, F, G)
fn nextencode<__E: FormatEncoder>(&self, e: &mut __E) -> Result<(), __E::Error>
Source§impl<A: NsonSerialize, B: NsonSerialize, C: NsonSerialize, D: NsonSerialize, E: NsonSerialize, F: NsonSerialize> NsonSerialize for (A, B, C, D, E, F)
impl<A: NsonSerialize, B: NsonSerialize, C: NsonSerialize, D: NsonSerialize, E: NsonSerialize, F: NsonSerialize> NsonSerialize for (A, B, C, D, E, F)
fn nextencode<__E: FormatEncoder>(&self, e: &mut __E) -> Result<(), __E::Error>
Source§impl<A: NsonSerialize, B: NsonSerialize, C: NsonSerialize, D: NsonSerialize, E: NsonSerialize> NsonSerialize for (A, B, C, D, E)
impl<A: NsonSerialize, B: NsonSerialize, C: NsonSerialize, D: NsonSerialize, E: NsonSerialize> NsonSerialize for (A, B, C, D, E)
fn nextencode<__E: FormatEncoder>(&self, e: &mut __E) -> Result<(), __E::Error>
Source§impl<A: NsonSerialize, B: NsonSerialize, C: NsonSerialize, D: NsonSerialize> NsonSerialize for (A, B, C, D)
impl<A: NsonSerialize, B: NsonSerialize, C: NsonSerialize, D: NsonSerialize> NsonSerialize for (A, B, C, D)
fn nextencode<__E: FormatEncoder>(&self, e: &mut __E) -> Result<(), __E::Error>
Source§impl<A: NsonSerialize, B: NsonSerialize, C: NsonSerialize> NsonSerialize for (A, B, C)
impl<A: NsonSerialize, B: NsonSerialize, C: NsonSerialize> NsonSerialize for (A, B, C)
fn nextencode<__E: FormatEncoder>(&self, e: &mut __E) -> Result<(), __E::Error>
Source§impl<A: NsonSerialize, B: NsonSerialize> NsonSerialize for (A, B)
impl<A: NsonSerialize, B: NsonSerialize> NsonSerialize for (A, B)
fn nextencode<__E: FormatEncoder>(&self, e: &mut __E) -> Result<(), __E::Error>
Source§impl<A: NsonSerialize> NsonSerialize for (A,)
impl<A: NsonSerialize> NsonSerialize for (A,)
fn nextencode<__E: FormatEncoder>(&self, e: &mut __E) -> Result<(), __E::Error>
Source§impl<K: NsonSerialize + Hash + Eq, V: NsonSerialize> NsonSerialize for HashMap<K, V>
Available on crate feature std only.
impl<K: NsonSerialize + Hash + Eq, V: NsonSerialize> NsonSerialize for HashMap<K, V>
Available on crate feature
std only.fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl<K: NsonSerialize, V: NsonSerialize> NsonSerialize for BTreeMap<K, V>
impl<K: NsonSerialize, V: NsonSerialize> NsonSerialize for BTreeMap<K, V>
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl<T: ?Sized> NsonSerialize for PhantomData<T>
impl<T: ?Sized> NsonSerialize for PhantomData<T>
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl<T: NsonSerialize + ?Sized> NsonSerialize for &T
impl<T: NsonSerialize + ?Sized> NsonSerialize for &T
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl<T: NsonSerialize + ?Sized> NsonSerialize for &mut T
impl<T: NsonSerialize + ?Sized> NsonSerialize for &mut T
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl<T: NsonSerialize + ?Sized> NsonSerialize for Box<T>
impl<T: NsonSerialize + ?Sized> NsonSerialize for Box<T>
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl<T: NsonSerialize + Copy> NsonSerialize for Cell<T>
impl<T: NsonSerialize + Copy> NsonSerialize for Cell<T>
fn nextencode<E: FormatEncoder>(&self, e: &mut E) -> Result<(), E::Error>
Source§impl<T: NsonSerialize + Hash + Eq> NsonSerialize for HashSet<T>
Available on crate feature std only.
impl<T: NsonSerialize + Hash + Eq> NsonSerialize for HashSet<T>
Available on crate feature
std only.