Automatically generate drop for #[metatype]

This commit is contained in:
2025-06-19 23:07:53 +10:00
parent 8f6fc64f7a
commit f9676a1436
4 changed files with 51 additions and 5 deletions

View File

@@ -1,9 +1,15 @@
use crate::utils::{ffi_crate, syn_assert, syn_error};
use darling::FromMeta;
use proc_macro2::TokenStream;
use quote::{format_ident, quote};
use syn::{spanned::*, *};
pub fn transform(mut item: Item) -> Result<TokenStream> {
#[derive(Debug, FromMeta)]
pub struct Args {
module: Option<String>,
}
pub fn transform(args: Args, mut item: Item) -> Result<TokenStream> {
let (name, impl_type, impl_cdef) = match item {
Item::Struct(ref mut str) => (
str.ident.clone(),