fn parse_until<T: Parse, P1: Peek, P2: Peek>(
input: ParseStream<'_>,
parser: fn(_: ParseStream<'_>) -> Result<T>,
sep: P1,
end: P2,
) -> Result<Punctuated<T, P1::Token>>
fn parse_until<T: Parse, P1: Peek, P2: Peek>(
input: ParseStream<'_>,
parser: fn(_: ParseStream<'_>) -> Result<T>,
sep: P1,
end: P2,
) -> Result<Punctuated<T, P1::Token>>