Function combine::parser::combinator::any_send_sync_partial_state

source ยท
pub fn any_send_sync_partial_state<Input, P>(
    p: P,
) -> AnySendSyncPartialStateParser<P>
where Input: Stream, P: Parser<Input>, P::PartialState: Send + Sync + 'static,
Expand description

Returns a parser where P::PartialState is boxed. Useful as a way to avoid writing the type since it can get very large after combining a few parsers.



fn example<Input>() -> impl Parser<Input, Output = (char, char), PartialState = AnySendSyncPartialState>
where
    Input: Stream<Token = char>,
{
    any_send_sync_partial_state((letter(), letter()))
}

assert_eq!(
    example().easy_parse("ab"),
    Ok((('a', 'b'), ""))
);