pub enum MetaSource<'a> {
Explicit(&'a ValueMeta<'a>),
Owned(ValueMeta<'a>),
FromEvents,
}Expand description
Specifies where metadata should come from during deserialization.
Variants§
Explicit(&'a ValueMeta<'a>)
Use explicit metadata from an outer context (borrowed).
Use cases:
- Consumed a VariantTag: We consumed
@tagbefore a value and need to pass the tag name (and doc if present) to the inner value so metadata containers can capture it. - Recursive through wrappers: Going through proxies, transparent converts,
pointers,
begin_inner- same logical value, pass through same metadata. - Merged metadata: When we’ve built up metadata from multiple sources (e.g., tag span + value span combined) and need to pass the merged result.
Owned(ValueMeta<'a>)
Use explicit metadata that was constructed locally (owned).
Use cases:
- Struct field with attached metadata: The field key had doc comments or other metadata that should apply to the field value.
FromEvents
Get fresh metadata from the events being parsed.
Use this when deserializing a new value that has no pre-consumed context: list items, map keys/values, struct fields without special metadata, etc.
Trait Implementations§
Source§impl<'a> Clone for MetaSource<'a>
impl<'a> Clone for MetaSource<'a>
Source§fn clone(&self) -> MetaSource<'a>
fn clone(&self) -> MetaSource<'a>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<'a> Debug for MetaSource<'a>
impl<'a> Debug for MetaSource<'a>
Source§impl<'a> Default for MetaSource<'a>
impl<'a> Default for MetaSource<'a>
Source§fn default() -> MetaSource<'a>
fn default() -> MetaSource<'a>
Returns the “default value” for a type. Read more
Source§impl<'a> From<&'a ValueMeta<'a>> for MetaSource<'a>
impl<'a> From<&'a ValueMeta<'a>> for MetaSource<'a>
Auto Trait Implementations§
impl<'a> Freeze for MetaSource<'a>
impl<'a> RefUnwindSafe for MetaSource<'a>
impl<'a> Send for MetaSource<'a>
impl<'a> Sync for MetaSource<'a>
impl<'a> Unpin for MetaSource<'a>
impl<'a> UnsafeUnpin for MetaSource<'a>
impl<'a> UnwindSafe for MetaSource<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more