pub fn between<A, B, C, I>(
    mut before: impl Parser<A, I>,
    mut within: impl Parser<B, I>,
    mut after: impl Parser<C, I>,
) -> impl Parser<B, I> {
    move |input: I| {
        let (_, input) = before.parse(input)?;
        let (value, input) = within.parse(input)?;
        let (_, input) = after.parse(input)?;
        Some((value, input))
    }
}
/// Parses something that is enclosed between two other things.
Parses something that is enclosed between two other things.
Parses something that is enclosed between two other things .
pub fn between<A, B, C, I>(
    mut before: impl Parser<A, I>,
    mut within: impl Parser<B, I>,
    mut after: impl Parser<C, I>,
) -> impl Parser<B, I> {
    move |input: I| {
        let (_, input) = before.parse(input)?;
        let (value, input) = within.parse(input)?;
        let (_, input) = after.parse(input)?;
        Some((value, input))
    }
}
pub fn between < A , B , C , I > ( mut before : impl Parser < A , I > , mut within : impl Parser < B , I > , mut after : impl Parser < C , I > , ) -> impl Parser < B , I > { move | input : I | { let ( _ , input ) = before . parse ( input ) ? ; let ( value , input ) = within . parse ( input ) ? ; let ( _ , input ) = after . parse ( input ) ? ; Some ( ( value , input ) ) } }
Parses something that is enclosed between two other things.
Parses something that is enclosed between two other things .
before
impl Parser<A, I>
within
impl Parser<B, I>
after
impl Parser<C, I>