burn_tensor_testgen/
lib.rs1use proc_macro::TokenStream;
2use quote::{format_ident, quote};
3
4#[allow(missing_docs)]
5#[proc_macro_attribute]
6pub fn testgen(attr: TokenStream, item: TokenStream) -> TokenStream {
7 let item: proc_macro2::TokenStream = proc_macro2::TokenStream::from(item);
8 let attr: proc_macro2::TokenStream = proc_macro2::TokenStream::from(attr);
9 let macro_ident = format_ident!("testgen_{}", attr.to_string());
10
11 let macro_gen = quote! {
12 #[allow(missing_docs)]
13 #[macro_export]
14 macro_rules! #macro_ident {
15 () => {
16 mod #attr {
17 use super::*;
18
19 #item
20 }
21 };
22 }
23 };
24
25 macro_gen.into()
26}