Files
aho_corasick
ansi_term
array_tool
atty
bitflags
cargo_update
cfg_if
clap
dirs
dirs_sys
form_urlencoded
git2
hex
idna
json
lazy_static
lazysort
libc
libgit2_sys
libssh2_sys
libz_sys
log
matches
maybe_uninit
memchr
openssl_probe
openssl_sys
percent_encoding
proc_macro2
quote
regex
regex_syntax
semver
semver_parser
serde
serde_derive
smallvec
strsim
syn
tabwriter
term_size
textwrap
toml
unicode_bidi
unicode_normalization
unicode_width
unicode_xid
url
vec_map
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
use crate::parse::{ParseBuffer, ParseStream};
use proc_macro2::TokenStream;
use std::iter;

pub fn between<'a>(begin: ParseBuffer<'a>, end: ParseStream<'a>) -> TokenStream {
    let end = end.cursor();
    let mut cursor = begin.cursor();
    let mut tokens = TokenStream::new();
    while cursor != end {
        let (tt, next) = cursor.token_tree().unwrap();
        tokens.extend(iter::once(tt));
        cursor = next;
    }
    tokens
}