| Current Path : /usr/local/src/clamav-1.0.9/libclamav_rust/.cargo/vendor/serde_derive/src/internals/ |
| Current File : //usr/local/src/clamav-1.0.9/libclamav_rust/.cargo/vendor/serde_derive/src/internals/respan.rs |
use proc_macro2::{Group, Span, TokenStream, TokenTree};
pub(crate) fn respan(stream: TokenStream, span: Span) -> TokenStream {
stream
.into_iter()
.map(|token| respan_token(token, span))
.collect()
}
fn respan_token(mut token: TokenTree, span: Span) -> TokenTree {
if let TokenTree::Group(g) = &mut token {
*g = Group::new(g.delimiter(), respan(g.stream(), span));
}
token.set_span(span);
token
}