@@ -65,9 +65,9 @@ use syn::spanned::Spanned;
65
65
pub fn main ( _attr : TokenStream , item : TokenStream ) -> TokenStream {
66
66
let input = syn:: parse_macro_input!( item as syn:: ItemFn ) ;
67
67
68
- let ret = & input. decl . output ;
69
- let inputs = & input. decl . inputs ;
70
- let name = & input. ident ;
68
+ let ret = & input. sig . output ;
69
+ let inputs = & input. sig . inputs ;
70
+ let name = & input. sig . ident ;
71
71
let body = & input. block ;
72
72
let attrs = & input. attrs ;
73
73
@@ -77,7 +77,7 @@ pub fn main(_attr: TokenStream, item: TokenStream) -> TokenStream {
77
77
} ) ;
78
78
}
79
79
80
- if input. asyncness . is_none ( ) {
80
+ if input. sig . asyncness . is_none ( ) {
81
81
return TokenStream :: from ( quote_spanned ! { input. span( ) =>
82
82
compile_error!( "the async keyword is missing from the function declaration" ) ,
83
83
} ) ;
@@ -86,7 +86,7 @@ pub fn main(_attr: TokenStream, item: TokenStream) -> TokenStream {
86
86
let result = quote ! {
87
87
fn main( ) #ret {
88
88
#( #attrs) *
89
- async fn main( #( # inputs) , * ) #ret {
89
+ async fn main( #inputs) #ret {
90
90
#body
91
91
}
92
92
@@ -115,12 +115,12 @@ pub fn main(_attr: TokenStream, item: TokenStream) -> TokenStream {
115
115
pub fn test ( _attr : TokenStream , item : TokenStream ) -> TokenStream {
116
116
let input = syn:: parse_macro_input!( item as syn:: ItemFn ) ;
117
117
118
- let ret = & input. decl . output ;
119
- let name = & input. ident ;
118
+ let ret = & input. sig . output ;
119
+ let name = & input. sig . ident ;
120
120
let body = & input. block ;
121
121
let attrs = & input. attrs ;
122
122
123
- if input. asyncness . is_none ( ) {
123
+ if input. sig . asyncness . is_none ( ) {
124
124
return TokenStream :: from ( quote_spanned ! { input. span( ) =>
125
125
compile_error!( "the async keyword is missing from the function declaration" ) ,
126
126
} ) ;
@@ -159,12 +159,12 @@ pub fn test(_attr: TokenStream, item: TokenStream) -> TokenStream {
159
159
pub fn bench ( _attr : TokenStream , item : TokenStream ) -> TokenStream {
160
160
let input = syn:: parse_macro_input!( item as syn:: ItemFn ) ;
161
161
162
- let args = & input. decl . inputs ;
163
- let name = & input. ident ;
162
+ let args = & input. sig . inputs ;
163
+ let name = & input. sig . ident ;
164
164
let body = & input. block ;
165
165
let attrs = & input. attrs ;
166
166
167
- if input. asyncness . is_none ( ) {
167
+ if input. sig . asyncness . is_none ( ) {
168
168
return TokenStream :: from ( quote_spanned ! { input. span( ) =>
169
169
compile_error!( "the async keyword is missing from the function declaration" ) ,
170
170
} ) ;
0 commit comments