pub trait DefineUnion: Sized {
    type Parent: TypedWrite;
    type TupleDefiner: DefineTuple<Parent = Self>;
    type StructDefiner: DefineStruct<Parent = Self>;
    type UnionWriter: WriteUnion<Parent = Self::Parent>;

    fn define_unit(self, name: FieldName) -> Self;
    fn define_tuple(
        self,
        name: FieldName,
        inner: impl FnOnce(Self::TupleDefiner) -> Self
    ) -> Self; fn define_struct(
        self,
        name: FieldName,
        inner: impl FnOnce(Self::StructDefiner) -> Self
    ) -> Self; fn complete(self) -> Self::UnionWriter; fn define_newtype<T: StrictEncode + StrictDumb>(
        self,
        name: FieldName
    ) -> Self { ... } }

Required Associated Types§

Required Methods§

source

fn define_unit(self, name: FieldName) -> Self

source

fn define_tuple(
    self,
    name: FieldName,
    inner: impl FnOnce(Self::TupleDefiner) -> Self
) -> Self

source

fn define_struct(
    self,
    name: FieldName,
    inner: impl FnOnce(Self::StructDefiner) -> Self
) -> Self

source

fn complete(self) -> Self::UnionWriter

Provided Methods§

source

fn define_newtype<T: StrictEncode + StrictDumb>(self, name: FieldName) -> Self

Implementors§