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 }