Skip to main content

Alt

Trait Alt 

Source
pub trait Alt<I, O, E> {
    // Required method
    fn choice(&mut self, input: &mut I) -> Result<O, E>;
}
Expand description

Helper trait for the alt() combinator.

This trait is implemented for tuples of up to 21 elements

Required Methods§

Source

fn choice(&mut self, input: &mut I) -> Result<O, E>

Tests each parser in the tuple and returns the result of the first one that succeeds

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<I: Stream, O, E: ParserError<I>, A: Parser<I, O, E>> Alt<I, O, E> for (A,)

Source§

fn choice(&mut self, input: &mut I) -> Result<O, E>

Source§

impl<I: Stream, O, E: ParserError<I>, P: Parser<I, O, E>> Alt<I, O, E> for &mut [P]

Source§

fn choice(&mut self, input: &mut I) -> Result<O, E>

Source§

impl<I: Stream, Output, Error: ParserError<I>, Alt2: Parser<I, Output, Error>, Alt3: Parser<I, Output, Error>, Alt4: Parser<I, Output, Error>, Alt5: Parser<I, Output, Error>, Alt6: Parser<I, Output, Error>, Alt7: Parser<I, Output, Error>, Alt8: Parser<I, Output, Error>, Alt9: Parser<I, Output, Error>, Alt10: Parser<I, Output, Error>> Alt<I, Output, Error> for (Alt2, Alt3, Alt4, Alt5, Alt6, Alt7, Alt8, Alt9, Alt10)

Source§

fn choice(&mut self, input: &mut I) -> Result<Output, Error>

Source§

impl<I: Stream, Output, Error: ParserError<I>, Alt2: Parser<I, Output, Error>, Alt3: Parser<I, Output, Error>, Alt4: Parser<I, Output, Error>, Alt5: Parser<I, Output, Error>, Alt6: Parser<I, Output, Error>, Alt7: Parser<I, Output, Error>, Alt8: Parser<I, Output, Error>, Alt9: Parser<I, Output, Error>> Alt<I, Output, Error> for (Alt2, Alt3, Alt4, Alt5, Alt6, Alt7, Alt8, Alt9)

Source§

fn choice(&mut self, input: &mut I) -> Result<Output, Error>

Source§

impl<I: Stream, Output, Error: ParserError<I>, Alt2: Parser<I, Output, Error>, Alt3: Parser<I, Output, Error>, Alt4: Parser<I, Output, Error>, Alt5: Parser<I, Output, Error>, Alt6: Parser<I, Output, Error>, Alt7: Parser<I, Output, Error>, Alt8: Parser<I, Output, Error>> Alt<I, Output, Error> for (Alt2, Alt3, Alt4, Alt5, Alt6, Alt7, Alt8)

Source§

fn choice(&mut self, input: &mut I) -> Result<Output, Error>

Source§

impl<I: Stream, Output, Error: ParserError<I>, Alt2: Parser<I, Output, Error>, Alt3: Parser<I, Output, Error>, Alt4: Parser<I, Output, Error>, Alt5: Parser<I, Output, Error>, Alt6: Parser<I, Output, Error>, Alt7: Parser<I, Output, Error>> Alt<I, Output, Error> for (Alt2, Alt3, Alt4, Alt5, Alt6, Alt7)

Source§

fn choice(&mut self, input: &mut I) -> Result<Output, Error>

Source§

impl<I: Stream, Output, Error: ParserError<I>, Alt2: Parser<I, Output, Error>, Alt3: Parser<I, Output, Error>, Alt4: Parser<I, Output, Error>, Alt5: Parser<I, Output, Error>, Alt6: Parser<I, Output, Error>> Alt<I, Output, Error> for (Alt2, Alt3, Alt4, Alt5, Alt6)

Source§

fn choice(&mut self, input: &mut I) -> Result<Output, Error>

Source§

impl<I: Stream, Output, Error: ParserError<I>, Alt2: Parser<I, Output, Error>, Alt3: Parser<I, Output, Error>, Alt4: Parser<I, Output, Error>, Alt5: Parser<I, Output, Error>> Alt<I, Output, Error> for (Alt2, Alt3, Alt4, Alt5)

Source§

fn choice(&mut self, input: &mut I) -> Result<Output, Error>

Source§

impl<I: Stream, Output, Error: ParserError<I>, Alt2: Parser<I, Output, Error>, Alt3: Parser<I, Output, Error>, Alt4: Parser<I, Output, Error>> Alt<I, Output, Error> for (Alt2, Alt3, Alt4)

Source§

fn choice(&mut self, input: &mut I) -> Result<Output, Error>

Source§

impl<I: Stream, Output, Error: ParserError<I>, Alt2: Parser<I, Output, Error>, Alt3: Parser<I, Output, Error>> Alt<I, Output, Error> for (Alt2, Alt3)

Source§

fn choice(&mut self, input: &mut I) -> Result<Output, Error>

Source§

impl<const N: usize, I: Stream, O, E: ParserError<I>, P: Parser<I, O, E>> Alt<I, O, E> for [P; N]

Source§

fn choice(&mut self, input: &mut I) -> Result<O, E>

Implementors§