Skip to main content

NodeMeta

Struct NodeMeta 

Source
pub struct NodeMeta<Loc = Span> {
    pub anchor: Option<String>,
    pub anchor_loc: Option<Loc>,
    pub tag_loc: Option<Loc>,
    pub leading_comments: Option<Vec<String>>,
    pub trailing_comment: Option<String>,
}
Expand description

Rare per-node fields that are absent on most nodes in typical documents.

Bundled behind Option<Box<NodeMeta>> on Node::Scalar, Node::Mapping, and Node::Sequence so that the common case (no anchor, no user-authored tag location, no comments) pays only one 8-byte pointer instead of ~200 bytes of inline storage. When meta is None all five fields read as their zero/empty defaults via the Node accessor methods.

Fields§

§anchor: Option<String>

Anchor name defined on this node (e.g. &anchor), if any.

§anchor_loc: Option<Loc>

Source span of the &name anchor token — from & through the last byte of the name. Some when anchor is Some; None otherwise.

§tag_loc: Option<Loc>

Source span of the tag token — from ! through the last byte of the tag. Some when a user-authored tag is present; None for resolver-injected tags.

§leading_comments: Option<Vec<String>>

Comment lines that appear before this node (e.g. # note). Populated only for non-first entries in a mapping or sequence. Document-prefix leading comments are discarded by the tokenizer per YAML §9.2 and cannot be recovered here.

§trailing_comment: Option<String>

Inline comment on the same line as this node (e.g. # note).

Implementations§

Source§

impl<Loc> NodeMeta<Loc>

Source

pub fn into_option(self) -> Option<Box<Self>>

Wrap into Option<Box<NodeMeta>>, returning None when all fields are absent.

Trait Implementations§

Source§

impl<Loc: Clone> Clone for NodeMeta<Loc>

Source§

fn clone(&self) -> NodeMeta<Loc>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<Loc: Debug> Debug for NodeMeta<Loc>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<Loc: Eq> Eq for NodeMeta<Loc>

Source§

impl<Loc: PartialEq> PartialEq for NodeMeta<Loc>

Source§

fn eq(&self, other: &NodeMeta<Loc>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<Loc> StructuralPartialEq for NodeMeta<Loc>

Auto Trait Implementations§

§

impl<Loc> Freeze for NodeMeta<Loc>
where Loc: Freeze,

§

impl<Loc> RefUnwindSafe for NodeMeta<Loc>
where Loc: RefUnwindSafe,

§

impl<Loc> Send for NodeMeta<Loc>
where Loc: Send,

§

impl<Loc> Sync for NodeMeta<Loc>
where Loc: Sync,

§

impl<Loc> Unpin for NodeMeta<Loc>
where Loc: Unpin,

§

impl<Loc> UnsafeUnpin for NodeMeta<Loc>
where Loc: UnsafeUnpin,

§

impl<Loc> UnwindSafe for NodeMeta<Loc>
where Loc: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.