11use proc_macro:: TokenStream ;
22use quote:: { format_ident, quote} ;
3- use syn:: { Data , DataStruct , DeriveInput , Field , LitInt , WhereClause , parse_macro_input, parse_quote} ;
3+ use syn:: {
4+ Data , DataStruct , DeriveInput , Field , LitInt , WhereClause , parse_macro_input, parse_quote,
5+ } ;
46
57#[ proc_macro_derive( KernelArgumentList ) ]
68pub fn derive_kernel_argument_list ( input : TokenStream ) -> TokenStream {
79 let mut input = parse_macro_input ! ( input as DeriveInput ) ;
810
9- let Data :: Struct ( data) = & input. data else { panic ! ( ) } ;
11+ let Data :: Struct ( data) = & input. data else {
12+ panic ! ( )
13+ } ;
1014 expand_where_clause ( input. generics . make_where_clause ( ) , data) ;
1115 let ( impl_generics, ty_generics, where_clause) = input. generics . split_for_impl ( ) ;
1216
@@ -27,13 +31,17 @@ pub fn derive_kernel_argument_list(input: TokenStream) -> TokenStream {
2731
2832fn expand_where_clause ( where_clause : & mut WhereClause , data : & DataStruct ) {
2933 for Field { ty, .. } in & data. fields {
30- where_clause. predicates . push ( parse_quote ! ( #ty: oneapi_rs:: kernel:: KernelArgument ) ) ;
34+ where_clause
35+ . predicates
36+ . push ( parse_quote ! ( #ty: oneapi_rs:: kernel:: KernelArgument ) ) ;
3137 }
3238}
3339
3440fn get_single_tuple_impl ( argc : usize ) -> proc_macro2:: TokenStream {
35- let iter = { 0 ..argc} . map ( syn:: Index :: from) ;
36- let types = { 0 ..argc} . map ( |i| format_ident ! ( "T{i}" ) ) . collect :: < Vec < _ > > ( ) ;
41+ let iter = { 0 ..argc } . map ( syn:: Index :: from) ;
42+ let types = { 0 ..argc }
43+ . map ( |i| format_ident ! ( "T{i}" ) )
44+ . collect :: < Vec < _ > > ( ) ;
3745
3846 quote ! {
3947 unsafe impl <#( #types) , * > crate :: kernel:: KernelArgumentList <#argc> for ( #( #types) , * )
@@ -50,7 +58,7 @@ pub fn impl_arg_list_for_tuples(input: TokenStream) -> TokenStream {
5058 let input = parse_macro_input ! ( input as LitInt ) ;
5159 let argc = input. base10_parse :: < usize > ( ) . unwrap ( ) ;
5260
53- let impls = { 2 ..=argc} . map ( get_single_tuple_impl) ;
61+ let impls = { 2 ..=argc } . map ( get_single_tuple_impl) ;
5462
5563 let expanded = quote ! {
5664 #( #impls) *
0 commit comments