Trait DescribeField

pub trait DescribeField<T> {
    const FIELD_TYPE: FieldType<'static>;
    const PACKED_TYPE: Option<&'static str> = None;
}
Expand description

A trait for a self-describing protobuf message field.

Required Associated Constants§

const FIELD_TYPE: FieldType<'static>

The type of the field.

Provided Associated Constants§

const PACKED_TYPE: Option<&'static str> = None

The type name of the field in a packed context.

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§

§

impl DescribeField<Cow<'_, str>> for BorrowedCowField

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<Cow<'_, str>> for OwningCowField

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<bool> for VarintField

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<f32> for Fixed32Field

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<f64> for Fixed64Field

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<i8> for SignedVarintField

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<i8> for VarintField

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<i16> for SignedVarintField

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<i16> for VarintField

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<i32> for Fixed32Field

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<i32> for SignedVarintField

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<i32> for VarintField

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<i64> for Fixed64Field

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<i64> for SignedVarintField

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<i64> for VarintField

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<isize> for SignedVarintField

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<isize> for VarintField

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<u8> for ByteField

§

const FIELD_TYPE: FieldType<'static>

§

const PACKED_TYPE: Option<&'static str>

§

impl DescribeField<u8> for VarintField

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<u16> for VarintField

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<u32> for Fixed32Field

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<u32> for VarintField

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<u64> for Fixed64Field

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<u64> for VarintField

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<u128> for U128LittleEndianField

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<()> for TableEncoder

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<usize> for VarintField

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<ProtobufMessage> for MessageEncoding<ProtobufMessageEncoding>

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<Ipv4Addr> for Fixed32Field

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<Ipv6Addr> for Ipv6AddrField

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<NonZero<i8>> for VarintField

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<NonZero<i16>> for VarintField

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<NonZero<i32>> for VarintField

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<NonZero<i64>> for VarintField

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<NonZero<isize>> for VarintField

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<NonZero<u8>> for VarintField

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<NonZero<u16>> for VarintField

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<NonZero<u32>> for VarintField

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<NonZero<u64>> for VarintField

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<NonZero<usize>> for VarintField

§

const FIELD_TYPE: FieldType<'static>

§

impl DescribeField<Duration> for DurationEncoding

§

const FIELD_TYPE: FieldType<'static>

§

impl<E0> DescribeField<(E0,)> for TableEncoder

§

const FIELD_TYPE: FieldType<'static>

§

impl<E0, E1> DescribeField<(E0, E1)> for TableEncoder

§

const FIELD_TYPE: FieldType<'static>

§

impl<E0, E1, E2> DescribeField<(E0, E1, E2)> for TableEncoder

§

const FIELD_TYPE: FieldType<'static>

§

impl<E0, E1, E2, E3> DescribeField<(E0, E1, E2, E3)> for TableEncoder

§

const FIELD_TYPE: FieldType<'static>

§

impl<E0, E1, E2, E3, E4> DescribeField<(E0, E1, E2, E3, E4)> for TableEncoder

§

const FIELD_TYPE: FieldType<'static>

§

impl<E0, E1, E2, E3, E4, E5> DescribeField<(E0, E1, E2, E3, E4, E5)> for TableEncoder

§

const FIELD_TYPE: FieldType<'static>

§

impl<E0, E1, E2, E3, E4, E5, E6> DescribeField<(E0, E1, E2, E3, E4, E5, E6)> for TableEncoder

§

const FIELD_TYPE: FieldType<'static>

§

impl<E, T> DescribeField<T> for ArcEncoding<E>
where E: DescribeField<T>,

§

const FIELD_TYPE: FieldType<'static> = E::FIELD_TYPE

§

impl<E, T> DescribeField<T> for BoxEncoding<E>
where E: DescribeField<T>,

§

const FIELD_TYPE: FieldType<'static> = E::FIELD_TYPE

§

impl<E, T> DescribeField<T> for MessageEncoding<E>
where E: DescribeMessage<T>,

§

const FIELD_TYPE: FieldType<'static>

§

impl<T> DescribeField<T> for BytesField
where T: AsRef<[u8]>,

§

const FIELD_TYPE: FieldType<'static>

§

impl<T> DescribeField<T> for StringField
where T: AsRef<str>,

§

const FIELD_TYPE: FieldType<'static>

§

impl<T> DescribeField<T> for ZeroCopyEncoding

§

const FIELD_TYPE: FieldType<'static>

§

impl<T> DescribeField<T> for OneofEncoder
where T: DescribeOneof,

§

const FIELD_TYPE: FieldType<'static>

§

impl<T> DescribeField<T> for TableEncoder
where T: DescribeTable,

§

const FIELD_TYPE: FieldType<'static>

§

impl<T, E> DescribeField<Option<T>> for OptionField<E>
where E: DescribeField<T>,

§

const FIELD_TYPE: FieldType<'static>

§

impl<T, E> DescribeField<Vec<T>> for VecField<E>
where E: DescribeField<T>,

§

const FIELD_TYPE: FieldType<'static>

§

impl<T, E> DescribeField<T> for TransparentEncoding<E>

§

const FIELD_TYPE: FieldType<'static> = E::FIELD_TYPE

§

const PACKED_TYPE: Option<&'static str> = E::PACKED_TYPE

§

impl<T, E, const N: usize> DescribeField<[T; N]> for ArrayField<E>
where E: DescribeField<T>,

§

const FIELD_TYPE: FieldType<'static>

§

impl<T, K, V, EK, EV> DescribeField<T> for MapField<K, V, EK, EV>
where EK: DescribeField<K>, EV: DescribeField<V>,

§

const FIELD_TYPE: FieldType<'static>