Trait TypedWrite

Source
pub trait TypedWrite: Sized {
    type TupleWriter: WriteTuple<Parent = Self>;
    type StructWriter: WriteStruct<Parent = Self>;
    type UnionDefiner: DefineUnion<Parent = Self>;
    type RawWriter: WriteRaw;

    // Required methods
    fn write_union<T: StrictUnion>(
        self,
        inner: impl FnOnce(Self::UnionDefiner) -> Result<Self>,
    ) -> Result<Self>;
    fn write_enum<T: StrictEnum>(self, value: T) -> Result<Self>
       where u8: From<T>;
    fn write_tuple<T: StrictTuple>(
        self,
        inner: impl FnOnce(Self::TupleWriter) -> Result<Self>,
    ) -> Result<Self>;
    fn write_struct<T: StrictStruct>(
        self,
        inner: impl FnOnce(Self::StructWriter) -> Result<Self>,
    ) -> Result<Self>;

    // Provided method
    fn write_newtype<T: StrictTuple>(
        self,
        value: &impl StrictEncode,
    ) -> Result<Self> { ... }
}

Required Associated Types§

Source

type TupleWriter: WriteTuple<Parent = Self>

Source

type StructWriter: WriteStruct<Parent = Self>

Source

type UnionDefiner: DefineUnion<Parent = Self>

Source

type RawWriter: WriteRaw

Required Methods§

Source

fn write_union<T: StrictUnion>( self, inner: impl FnOnce(Self::UnionDefiner) -> Result<Self>, ) -> Result<Self>

Source

fn write_enum<T: StrictEnum>(self, value: T) -> Result<Self>
where u8: From<T>,

Source

fn write_tuple<T: StrictTuple>( self, inner: impl FnOnce(Self::TupleWriter) -> Result<Self>, ) -> Result<Self>

Source

fn write_struct<T: StrictStruct>( self, inner: impl FnOnce(Self::StructWriter) -> Result<Self>, ) -> Result<Self>

Provided Methods§

Source

fn write_newtype<T: StrictTuple>( self, value: &impl StrictEncode, ) -> Result<Self>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§