@@ -7,16 +7,13 @@ use crate::common::extract_doc_line;
77
88/// Check if a type is Json<T> and extract the inner type T
99fn extract_json_inner_type ( ty : & syn:: Type ) -> Option < & syn:: Type > {
10- if let syn:: Type :: Path ( type_path) = ty {
11- if let Some ( last_segment) = type_path. path . segments . last ( ) {
12- if last_segment. ident == "Json" {
13- if let syn:: PathArguments :: AngleBracketed ( args) = & last_segment. arguments {
14- if let Some ( syn:: GenericArgument :: Type ( inner_type) ) = args. args . first ( ) {
15- return Some ( inner_type) ;
16- }
17- }
18- }
19- }
10+ if let syn:: Type :: Path ( type_path) = ty
11+ && let Some ( last_segment) = type_path. path . segments . last ( )
12+ && last_segment. ident == "Json"
13+ && let syn:: PathArguments :: AngleBracketed ( args) = & last_segment. arguments
14+ && let Some ( syn:: GenericArgument :: Type ( inner_type) ) = args. args . first ( )
15+ {
16+ return Some ( inner_type) ;
2017 }
2118 None
2219}
@@ -286,13 +283,13 @@ pub fn tool(attr: TokenStream, input: TokenStream) -> syn::Result<TokenStream> {
286283 let omit_send = cfg ! ( feature = "local" ) || attribute. local ;
287284 let new_output = syn:: parse2 :: < ReturnType > ( {
288285 let mut lt = quote ! { ' static } ;
289- if let Some ( receiver) = fn_item. sig . receiver ( ) {
290- if let Some ( ( _, receiver_lt) ) = receiver. reference . as_ref ( ) {
291- if let Some ( receiver_lt ) = receiver_lt {
292- lt = quote ! { # receiver_lt } ;
293- } else {
294- lt = quote ! { ' _ } ;
295- }
286+ if let Some ( receiver) = fn_item. sig . receiver ( )
287+ && let Some ( ( _, receiver_lt) ) = receiver. reference . as_ref ( )
288+ {
289+ if let Some ( receiver_lt ) = receiver_lt {
290+ lt = quote ! { #receiver_lt } ;
291+ } else {
292+ lt = quote ! { ' _ } ;
296293 }
297294 }
298295 match & fn_item. sig . output {
0 commit comments