fn trim(tokens: &mut Vec<Token>) {
    loop {
        match tokens.first() {
            Some(Token::Ws(_)) => { tokens.remove(0); }
            _ => break,
        }
    }

    loop {
        match tokens.last() {
            Some(Token::Ws(_)) => { tokens.pop(); }
            _ => break,
        }
    }
}
/// Trim leading and trailing whitespace tokens.
Trim leading and trailing whitespace tokens.
Trim leading and trailing whitespace tokens .
fn trim(tokens: &mut Vec<Token>) {
    loop {
        match tokens.first() {
            Some(Token::Ws(_)) => { tokens.remove(0); }
            _ => break,
        }
    }
    loop {
        match tokens.last() {
            Some(Token::Ws(_)) => { tokens.pop(); }
            _ => break,
        }
    }
}
fn trim ( tokens : & mut Vec < Token > ) { loop { match tokens . first ( ) { Some ( Token :: Ws ( _ ) ) => { tokens . remove ( 0 ) ; } _ => break , } } loop { match tokens . last ( ) { Some ( Token :: Ws ( _ ) ) => { tokens . pop ( ) ; } _ => break , } } }
Trim leading and trailing whitespace tokens.
Trim leading and trailing whitespace tokens .
tokens
&mut Vec<Token>
tokens
&mut Vec<Token>