cgp-macro-lib 0.7.0

Context-generic programming core component macros implemented as a library.
Documentation
use proc_macro2::Span;
use quote::ToTokens;
use syn::parse::Parse;
use syn::parse2;

pub fn override_span<T>(span: &Span, body: &T) -> syn::Result<T>
where
    T: Parse + ToTokens,
{
    parse2(
        body.to_token_stream()
            .into_iter()
            .map(|mut tree| {
                tree.set_span(*span);
                tree
            })
            .collect(),
    )
}