fn requires_terminator(input: ParseStream) -> bool {
    // It's easier to check if a terminator isn't required because checking to see whether a
    // terminator *is* required means checking to see if we're looking at a directly injected type,
    // which means checking to see whether it fits Rust type syntax. This is highly
    // complex/downright ridiculous to do using just syn's peek functionality.
    let terminator_not_required = input.peek(token::Brace)
        || (input.peek(kw::call) && input.peek2(token::Brace))
        || input.peek(kw::split)
        || input.peek(kw::choose)
        || input.peek(kw::offer)
        || input.peek(Token![loop])
        || input.peek(Lifetime);
    !terminator_not_required
}
/// Returns `true` if the next token in the `ParseStream` starts an expression that would require a
/// terminator afterwards.
Returns `true` if the next token in the `ParseStream` starts an expression that would require a
terminator afterwards.
Returns ` true ` if the next token in the ` ParseStream ` starts an expression that would require a terminator afterwards .
fn requires_terminator(input: ParseStream) -> bool {
    // It's easier to check if a terminator isn't required because checking to see whether a
    // terminator *is* required means checking to see if we're looking at a directly injected type,
    // which means checking to see whether it fits Rust type syntax. This is highly
    // complex/downright ridiculous to do using just syn's peek functionality.
    let terminator_not_required = input.peek(token::Brace)
        || (input.peek(kw::call) && input.peek2(token::Brace))
        || input.peek(kw::split)
        || input.peek(kw::choose)
        || input.peek(kw::offer)
        || input.peek(Token![loop])
        || input.peek(Lifetime);
    !terminator_not_required
}
fn requires_terminator ( input : ParseStream ) -> bool { // It's easier to check if a terminator isn't required because checking to see whether a // terminator *is* required means checking to see if we're looking at a directly injected type, // which means checking to see whether it fits Rust type syntax. This is highly // complex/downright ridiculous to do using just syn's peek functionality. let terminator_not_required = input . peek ( token :: Brace ) || ( input . peek ( kw :: call ) && input . peek2 ( token :: Brace ) ) || input . peek ( kw :: split ) || input . peek ( kw :: choose ) || input . peek ( kw :: offer ) || input . peek ( Token ! [ loop ] ) || input . peek ( Lifetime ) ; ! terminator_not_required }
Returns `true` if the next token in the `ParseStream` starts an expression that would require a
terminator afterwards.
Returns ` true ` if the next token in the ` ParseStream ` starts an expression that would require a terminator afterwards .
input
ParseStream