#phantom-data #generics #proc-macro #phantom #convert #macro

to_phantom

将泛型转换为进程宏中的 PhantomData

1 个不稳定版本

0.1.0 2023年4月28日

#1471进程宏

Download history 58/week @ 2024-04-01 74/week @ 2024-04-08 20/week @ 2024-04-15 23/week @ 2024-04-22 15/week @ 2024-04-29 18/week @ 2024-05-06 25/week @ 2024-05-13 25/week @ 2024-05-20 48/week @ 2024-05-27 42/week @ 2024-06-03 40/week @ 2024-06-10 32/week @ 2024-06-17 23/week @ 2024-06-24 3/week @ 2024-07-08 22/week @ 2024-07-15

每月52次 下载
3 个crate中使用(通过 bevy_proto_derive

MIT/Apache

9KB
57 代码行

to_phantom

Crates.io Docs License

轻松将 Generics 转换为 PhantomData 在您的进程宏中。

当在进程宏中创建使用来自其他类型的泛型的自定义类型时,这很有用。 PhantomData 允许这些泛型存在于类型中,而无需使用它们专用字段。

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,
        }
    }
}

依赖

~260–710KB
~17K SLoC