Parse

Trait Parse 

Source
pub trait Parse:
    'static
    + Span
    + Clone
    + Sized {
    // Required method
    fn parse(parser: &mut Parser<'_>) -> Option<Self>;

    // Provided method
    fn name() -> Option<fn() -> String> { ... }
}
Expand description

This trait allows for parsing an item from text.

Required Methods§

Source

fn parse(parser: &mut Parser<'_>) -> Option<Self>

Parses an item.

None means parse failure.

Provided Methods§

Source

fn name() -> Option<fn() -> String>

Name of the item to be parsed.

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.

Implementations on Foreign Types§

Source§

impl<T0: Parse, T1: Parse> Parse for (T0, T1)

Source§

fn parse(parser: &mut Parser<'_>) -> Option<Self>

Source§

impl<T0: Parse, T1: Parse, T2: Parse> Parse for (T0, T1, T2)

Source§

fn parse(parser: &mut Parser<'_>) -> Option<Self>

Source§

impl<T0: Parse, T1: Parse, T2: Parse, T3: Parse> Parse for (T0, T1, T2, T3)

Source§

fn parse(parser: &mut Parser<'_>) -> Option<Self>

Source§

impl<T0: Parse, T1: Parse, T2: Parse, T3: Parse, T4: Parse> Parse for (T0, T1, T2, T3, T4)

Source§

fn parse(parser: &mut Parser<'_>) -> Option<Self>

Source§

impl<T0: Parse, T1: Parse, T2: Parse, T3: Parse, T4: Parse, T5: Parse> Parse for (T0, T1, T2, T3, T4, T5)

Source§

fn parse(parser: &mut Parser<'_>) -> Option<Self>

Source§

impl<T: Parse> Parse for Box<T>

Source§

fn parse(parser: &mut Parser<'_>) -> Option<Self>

Source§

fn name() -> Option<fn() -> String>

Implementors§

Source§

impl Parse for AnyChar

Source§

impl Parse for Empty

Source§

impl Parse for Eos

Source§

impl Parse for Whitespace

Source§

impl<A: Parse, B: Parse> Parse for Either<A, B>

Source§

impl<A: Parse, B: Parse, C: Parse> Parse for OneOfThree<A, B, C>

Source§

impl<A: Parse, B: Parse, C: Parse, D: Parse> Parse for OneOfFour<A, B, C, D>

Source§

impl<Item: Parse, Delimiter: Parse> Parse for Items<Item, Delimiter>

Source§

impl<T: Parse> Parse for Maybe<T>

Source§

impl<T: Parse> Parse for NonEmpty<T>

Source§

impl<T: Parse> Parse for Not<T>

Source§

impl<T: Parse> Parse for While<T>

Source§

impl<const C0: char, const C1: char, const C2: char, const C3: char, const C4: char, const C5: char, const C6: char, const C7: char, const C8: char, const C9: char> Parse for Str<C0, C1, C2, C3, C4, C5, C6, C7, C8, C9>

Source§

impl<const RADIX: u8> Parse for Digit<RADIX>

Source§

impl<const T: char, const NAMED: bool> Parse for Char<T, NAMED>