Trait HasFields

Source
pub trait HasFields<'mem, 'facet_lifetime> {
    // Required method
    fn fields(
        &self,
    ) -> impl DoubleEndedIterator<Item = (Field, Peek<'mem, 'facet_lifetime>)>;

    // Provided method
    fn fields_for_serialize(
        &self,
    ) -> impl DoubleEndedIterator<Item = (Field, Peek<'mem, 'facet_lifetime>)> { ... }
}
Expand description

Trait for types that have field methods

This trait allows code to be written generically over both structs and enums that provide field access and iteration capabilities.

Required Methods§

Source

fn fields( &self, ) -> impl DoubleEndedIterator<Item = (Field, Peek<'mem, 'facet_lifetime>)>

Iterates over all fields in this type, providing both field metadata and value

Provided Methods§

Source

fn fields_for_serialize( &self, ) -> impl DoubleEndedIterator<Item = (Field, Peek<'mem, 'facet_lifetime>)>

Iterates over fields in this type that should be included when it is serialized

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§

Source§

impl<'mem, 'facet_lifetime> HasFields<'mem, 'facet_lifetime> for PeekEnum<'mem, 'facet_lifetime>

Source§

impl<'mem, 'facet_lifetime> HasFields<'mem, 'facet_lifetime> for PeekStruct<'mem, 'facet_lifetime>