fn unravel_concats(tss: Vec<TokenStream>) -> TokenStream {
    let mut pushes: Vec<TokenStream> =
        tss.into_iter().filter(|&ref ts| !ts.is_empty()).collect();
    let mut output = match pushes.pop() {
        Some(ts) => ts,
        None => {
            return TokenStream::mk_empty();
        }
    };

    while let Some(ts) = pushes.pop() {
        output = build_fn_call(str_to_ident("concat"),
                               concat(concat(ts,
                                             from_tokens(vec![Token::Comma])),
                                      output));
    }
    output
}
// ____________________________________________________________________________________________
// Turns QQTs into a TokenStream and some Bindings.
/// Construct a chain of concatenations.
Turns QQTs into a TokenStream and some Bindings.
Construct a chain of concatenations.
Turns QQTs into a TokenStream and some Bindings . Construct a chain of concatenations .
fn unravel_concats(tss: Vec<TokenStream>) -> TokenStream {
    let mut pushes: Vec<TokenStream> =
        tss.into_iter().filter(|&ref ts| !ts.is_empty()).collect();
    let mut output = match pushes.pop() {
        Some(ts) => ts,
        None => {
            return TokenStream::mk_empty();
        }
    };
    while let Some(ts) = pushes.pop() {
        output = build_fn_call(str_to_ident("concat"),
                               concat(concat(ts,
                                             from_tokens(vec![Token::Comma])),
                                      output));
    }
    output
}
fn unravel_concats ( tss : Vec < TokenStream > ) -> TokenStream { let mut pushes : Vec < TokenStream > = tss . into_iter ( ) . filter ( | & ref ts | ! ts . is_empty ( ) ) . collect ( ) ; let mut output = match pushes . pop ( ) { Some ( ts ) => ts , None => { return TokenStream :: mk_empty ( ) ; } } ; while let Some ( ts ) = pushes . pop ( ) { output = build_fn_call ( str_to_ident ( " " ) , concat ( concat ( ts , from_tokens ( vec ! [ Token Comma ] ) ) , output ) ) ; } output }
____________________________________________________________________________________________
Turns QQTs into a TokenStream and some Bindings.
____________________________________________________________________________________________ Turns QQTs into a TokenStream and some Bindings .
tss
Vec<TokenStream>
tss
Vec<TokenStream>