Skip to content

Commit

Permalink
Fix generic params in inner function (#2)
Browse files Browse the repository at this point in the history
  • Loading branch information
llehtahw committed Jan 8, 2024
1 parent f4564af commit b7481c0
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions procs/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -362,6 +362,7 @@ pub fn system_wrap(_attr: TokenStream, item: TokenStream) -> TokenStream {

#[proc_macro_attribute]
pub fn system(_attr: TokenStream, item: TokenStream) -> TokenStream {
let item_copy = item.clone();
let mut func = parse_macro_input!(item as syn::ItemFn);
let input_generic_id = Ident::new("_WRAPPER_ID", Span::mixed_site());
let mut input_tuple_type: TypeTuple = parse_quote!(());
Expand Down Expand Up @@ -399,6 +400,8 @@ pub fn system(_attr: TokenStream, item: TokenStream) -> TokenStream {
parse_quote!(return (_res,);)
};
let operands = &tup_operands.elems;
let item = system_wrap(_attr.clone(), item_copy);
let func = parse_macro_input!(item as syn::ItemFn);
let new_func = quote!(
#vis fn #func_name <#input_generic_id, #generic_params>(_args: #input_generic_id) -> outof![#input_generic_id] #where_clause {
#func
Expand Down

0 comments on commit b7481c0

Please sign in to comment.