mesh_protobuf::table::decode

Trait StructDecodeMetadata

Source
pub unsafe trait StructDecodeMetadata<'de, R>: StructMetadata {
    const DECODERS: &'static [ErasedDecoderEntry];
}
Expand description

The struct metadata for decoding a struct.

§Safety

The implementor must ensure that the DECODERS are correct and complete for Self, such that if every field is decoded, then the struct value is valid.

Required Associated Constants§

Source

const DECODERS: &'static [ErasedDecoderEntry]

The list of decoder vtables.

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.

Implementations on Foreign Types§

Source§

impl<'de, R> StructDecodeMetadata<'de, R> for ()

Source§

const DECODERS: &'static [ErasedDecoderEntry] = _

Source§

impl<'de, R, E0> StructDecodeMetadata<'de, R> for (E0,)
where E0: DefaultEncoding, E0::Encoding: FieldDecode<'de, E0, R>,

Source§

const DECODERS: &'static [ErasedDecoderEntry] = _

Source§

impl<'de, R, E0, E1> StructDecodeMetadata<'de, R> for (E0, E1)
where E0: DefaultEncoding, E1: DefaultEncoding, E0::Encoding: FieldDecode<'de, E0, R>, E1::Encoding: FieldDecode<'de, E1, R>,

Source§

const DECODERS: &'static [ErasedDecoderEntry] = _

Source§

impl<'de, R, E0, E1, E2> StructDecodeMetadata<'de, R> for (E0, E1, E2)
where E0: DefaultEncoding, E1: DefaultEncoding, E2: DefaultEncoding, E0::Encoding: FieldDecode<'de, E0, R>, E1::Encoding: FieldDecode<'de, E1, R>, E2::Encoding: FieldDecode<'de, E2, R>,

Source§

const DECODERS: &'static [ErasedDecoderEntry] = _

Source§

impl<'de, R, E0, E1, E2, E3> StructDecodeMetadata<'de, R> for (E0, E1, E2, E3)
where E0: DefaultEncoding, E1: DefaultEncoding, E2: DefaultEncoding, E3: DefaultEncoding, E0::Encoding: FieldDecode<'de, E0, R>, E1::Encoding: FieldDecode<'de, E1, R>, E2::Encoding: FieldDecode<'de, E2, R>, E3::Encoding: FieldDecode<'de, E3, R>,

Source§

const DECODERS: &'static [ErasedDecoderEntry] = _

Source§

impl<'de, R, E0, E1, E2, E3, E4> StructDecodeMetadata<'de, R> for (E0, E1, E2, E3, E4)
where E0: DefaultEncoding, E1: DefaultEncoding, E2: DefaultEncoding, E3: DefaultEncoding, E4: DefaultEncoding, E0::Encoding: FieldDecode<'de, E0, R>, E1::Encoding: FieldDecode<'de, E1, R>, E2::Encoding: FieldDecode<'de, E2, R>, E3::Encoding: FieldDecode<'de, E3, R>, E4::Encoding: FieldDecode<'de, E4, R>,

Source§

const DECODERS: &'static [ErasedDecoderEntry] = _

Source§

impl<'de, R, E0, E1, E2, E3, E4, E5> StructDecodeMetadata<'de, R> for (E0, E1, E2, E3, E4, E5)
where E0: DefaultEncoding, E1: DefaultEncoding, E2: DefaultEncoding, E3: DefaultEncoding, E4: DefaultEncoding, E5: DefaultEncoding, E0::Encoding: FieldDecode<'de, E0, R>, E1::Encoding: FieldDecode<'de, E1, R>, E2::Encoding: FieldDecode<'de, E2, R>, E3::Encoding: FieldDecode<'de, E3, R>, E4::Encoding: FieldDecode<'de, E4, R>, E5::Encoding: FieldDecode<'de, E5, R>,

Source§

const DECODERS: &'static [ErasedDecoderEntry] = _

Source§

impl<'de, R, E0, E1, E2, E3, E4, E5, E6> StructDecodeMetadata<'de, R> for (E0, E1, E2, E3, E4, E5, E6)
where E0: DefaultEncoding, E1: DefaultEncoding, E2: DefaultEncoding, E3: DefaultEncoding, E4: DefaultEncoding, E5: DefaultEncoding, E6: DefaultEncoding, E0::Encoding: FieldDecode<'de, E0, R>, E1::Encoding: FieldDecode<'de, E1, R>, E2::Encoding: FieldDecode<'de, E2, R>, E3::Encoding: FieldDecode<'de, E3, R>, E4::Encoding: FieldDecode<'de, E4, R>, E5::Encoding: FieldDecode<'de, E5, R>, E6::Encoding: FieldDecode<'de, E6, R>,

Source§

const DECODERS: &'static [ErasedDecoderEntry] = _

Source§

impl<'encoding, T, AnyR: 'static> StructDecodeMetadata<'encoding, AnyR> for Range<T>
where T: DefaultEncoding, T::Encoding: FieldDecode<'encoding, T, AnyR>,

Source§

const DECODERS: &'static [ErasedDecoderEntry] = _

Implementors§

Source§

impl<'encoding, AnyR: 'static> StructDecodeMetadata<'encoding, AnyR> for ProtobufAny

Source§

const DECODERS: &'static [ErasedDecoderEntry] = _

Source§

impl<'encoding, AnyR: 'static> StructDecodeMetadata<'encoding, AnyR> for Timestamp

Source§

const DECODERS: &'static [ErasedDecoderEntry] = _