Skip to main content

ParserReturn

Struct ParserReturn 

Source
pub struct ParserReturn<'a> {
    pub root: Root<'a>,
    pub diagnostics: Vec<Diagnostic>,
    pub blanks: Vec<Span>,
}
Expand description

The outcome of a parse: an AST plus diagnostics.

Parsing never fails. CommonMark has no syntax errors, and MDX-mode errors are reported here while the parse recovers.

Fields§

§root: Root<'a>§diagnostics: Vec<Diagnostic>§blanks: Vec<Span>

Every logical blank line, in source order: the span after the container prefixes (empty for a bare > line inside a blockquote), up to the line ending. Lines inside fenced blocks are content, never listed; blank lines inside indented code are listed (they are only content if more code follows), consumers compare against node spans. Blank runs between siblings carry meaning (HTML verbatim boundaries, loose lists); exposing the table the block phase already built saves consumers a container-aware rescan. (List tightness itself is already on crate::ast::List::tight, computed from the subset that can loosen a list.)

Trait Implementations§

Source§

impl<'a> Debug for ParserReturn<'a>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> !RefUnwindSafe for ParserReturn<'a>

§

impl<'a> !Send for ParserReturn<'a>

§

impl<'a> !UnwindSafe for ParserReturn<'a>

§

impl<'a> Freeze for ParserReturn<'a>

§

impl<'a> Sync for ParserReturn<'a>

§

impl<'a> Unpin for ParserReturn<'a>

§

impl<'a> UnsafeUnpin for ParserReturn<'a>

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<'a, T> FromIn<'a, T> for T

Source§

fn from_in(t: T, _: &'a Allocator) -> T

Converts to this type from the input type within the given allocator.
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<'a, T, U> IntoIn<'a, U> for T
where U: FromIn<'a, T>,

Source§

fn into_in(self, allocator: &'a Allocator) -> U

Converts this type into the (usually inferred) input type within the given allocator.
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.