Trait ScopedParsePair

Source
pub trait ScopedParsePair: Sized {
    // Required methods
    fn rule() -> Rule;
    fn message() -> &'static str;
    fn parse_pair(
        extensions: &SimpleExtensions,
        pair: Pair<'_, Rule>,
    ) -> Result<Self, MessageParseError>;
}
Expand description

A trait for types that are parsed from a pest::iterators::Pair<Rule> that depends on the context - e.g. extension lookups or other contextual information. This is used for types that are not directly parsed from the grammar, but rather require additional context to parse correctly.

Required Methods§

Source

fn rule() -> Rule

Source

fn message() -> &'static str

Source

fn parse_pair( extensions: &SimpleExtensions, pair: Pair<'_, Rule>, ) -> Result<Self, MessageParseError>

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 ScopedParsePair for CountMode

Source§

fn rule() -> Rule

Source§

fn message() -> &'static str

Source§

fn parse_pair( extensions: &SimpleExtensions, pair: Pair<'_, Rule>, ) -> Result<Self, MessageParseError>

Source§

impl ScopedParsePair for OffsetMode

Source§

fn rule() -> Rule

Source§

fn message() -> &'static str

Source§

fn parse_pair( extensions: &SimpleExtensions, pair: Pair<'_, Rule>, ) -> Result<Self, MessageParseError>

Source§

impl ScopedParsePair for Measure

Source§

fn rule() -> Rule

Source§

fn message() -> &'static str

Source§

fn parse_pair( extensions: &SimpleExtensions, pair: Pair<'_, Rule>, ) -> Result<Self, MessageParseError>

Source§

impl ScopedParsePair for Literal

Source§

fn rule() -> Rule

Source§

fn message() -> &'static str

Source§

fn parse_pair( extensions: &SimpleExtensions, pair: Pair<'_, Rule>, ) -> Result<Self, MessageParseError>

Source§

impl ScopedParsePair for ScalarFunction

Source§

fn rule() -> Rule

Source§

fn message() -> &'static str

Source§

fn parse_pair( extensions: &SimpleExtensions, pair: Pair<'_, Rule>, ) -> Result<Self, MessageParseError>

Source§

impl ScopedParsePair for Expression

Source§

fn rule() -> Rule

Source§

fn message() -> &'static str

Source§

fn parse_pair( extensions: &SimpleExtensions, pair: Pair<'_, Rule>, ) -> Result<Self, MessageParseError>

Source§

impl ScopedParsePair for SortField

Source§

fn rule() -> Rule

Source§

fn message() -> &'static str

Source§

fn parse_pair( _extensions: &SimpleExtensions, pair: Pair<'_, Rule>, ) -> Result<Self, MessageParseError>

Source§

impl ScopedParsePair for Type

Source§

fn rule() -> Rule

Source§

fn message() -> &'static str

Source§

fn parse_pair( extensions: &SimpleExtensions, pair: Pair<'_, Rule>, ) -> Result<Self, MessageParseError>

Source§

impl ScopedParsePair for Parameter

Source§

fn rule() -> Rule

Source§

fn message() -> &'static str

Source§

fn parse_pair( extensions: &SimpleExtensions, pair: Pair<'_, Rule>, ) -> Result<Self, MessageParseError>

Implementors§