Skip to content

Commit 6167641

Browse files
committed
Avoid items_after_statements lint in generated code
1 parent b3fdf43 commit 6167641

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

src/expand.rs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -357,19 +357,24 @@ fn transform_block(context: Context, sig: &mut Signature, block: &mut Block) {
357357
}
358358

359359
let stmts = &block.stmts;
360+
let stmts = if decls.is_empty() {
361+
quote!(#(#stmts)*)
362+
} else {
363+
quote!({ #(#stmts)* })
364+
};
360365
let let_ret = match &mut sig.output {
361366
ReturnType::Default => quote_spanned! {block.brace_token.span=>
362-
let _: () = { #(#decls)* #(#stmts)* };
367+
let _: () = { #(#decls)* #stmts };
363368
},
364369
ReturnType::Type(_, ret) => {
365370
if contains_associated_type_impl_trait(context, ret) {
366-
quote!(#(#decls)* #(#stmts)*)
371+
quote!(#(#decls)* #stmts)
367372
} else {
368373
quote_spanned! {block.brace_token.span=>
369374
if let ::core::option::Option::Some(__ret) = ::core::option::Option::None::<#ret> {
370375
return __ret;
371376
}
372-
let __ret: #ret = { #(#decls)* #(#stmts)* };
377+
let __ret: #ret = { #(#decls)* #stmts };
373378
#[allow(unreachable_code)]
374379
__ret
375380
}

0 commit comments

Comments
 (0)