MrGVSV / to_phantom

Convert generics to PhantomData in proc macros

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

to_phantom

Crates.io Docs License

Easily convert Generics to PhantomData in your proc macros.

This is useful for when creating custom types in a proc macro that use the generics from some other type. The PhantomData allows those generics to exist on the type without needing dedicated fields using them.

use to_phantom::ToPhantom;

fn create_helper(input: DeriveInput) -> TokenStream {
    let generics = input.generics();
    let phantom = generics.to_phantom();

    quote! {
        pub struct MyHelperStruct #generics {
            phantom: #phantom,
        }
    }
}

About

Convert generics to PhantomData in proc macros

License:Other


Languages

Language:Rust 100.0%