This repository was archived by the owner on May 28, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +11
-7
lines changed Expand file tree Collapse file tree 1 file changed +11
-7
lines changed Original file line number Diff line number Diff line change @@ -64,6 +64,15 @@ pub enum MacroArg {
64
64
Item ( ptr:: P < ast:: Item > ) ,
65
65
}
66
66
67
+ impl MacroArg {
68
+ fn is_item ( & self ) -> bool {
69
+ match self {
70
+ MacroArg :: Item ( ..) => true ,
71
+ _ => false ,
72
+ }
73
+ }
74
+ }
75
+
67
76
impl Rewrite for ast:: Item {
68
77
fn rewrite ( & self , context : & RewriteContext , shape : Shape ) -> Option < String > {
69
78
let mut visitor = :: visitor:: FmtVisitor :: from_context ( context) ;
@@ -260,6 +269,7 @@ pub fn rewrite_macro_inner(
260
269
}
261
270
return return_original_snippet_with_failure_marked ( context, mac. span ) ;
262
271
}
272
+ _ if arg_vec. last ( ) . map_or ( false , MacroArg :: is_item) => continue ,
263
273
_ => return return_original_snippet_with_failure_marked ( context, mac. span ) ,
264
274
}
265
275
@@ -272,13 +282,7 @@ pub fn rewrite_macro_inner(
272
282
}
273
283
}
274
284
275
- if !arg_vec. is_empty ( ) && arg_vec. iter ( ) . all ( |arg| {
276
- if let MacroArg :: Item ( ..) = arg {
277
- true
278
- } else {
279
- false
280
- }
281
- } ) {
285
+ if !arg_vec. is_empty ( ) && arg_vec. iter ( ) . all ( MacroArg :: is_item) {
282
286
return rewrite_macro_with_items (
283
287
context,
284
288
& arg_vec,
You can’t perform that action at this time.
0 commit comments