mango-v4/mango-macro/src/lib.rs

21 lines
492 B
Rust

use proc_macro::TokenStream;
use quote::quote;
use syn::{parse_macro_input, DeriveInput};
#[proc_macro_derive(Pod)]
pub fn pod(input: TokenStream) -> TokenStream {
let DeriveInput { ident, data, .. } = parse_macro_input!(input);
match data {
syn::Data::Struct(_) => {
quote! {
unsafe impl bytemuck::Zeroable for #ident {}
unsafe impl bytemuck::Pod for #ident {}
}
}
_ => panic!(),
}
.into()
}