]> git.lizzy.rs Git - rust.git/commitdiff
Strip unconfigured items from `MultiModifier`-expanded AST
authorJeffrey Seyfried <jeffrey.seyfried@gmail.com>
Mon, 4 Jul 2016 03:10:04 +0000 (03:10 +0000)
committerJeffrey Seyfried <jeffrey.seyfried@gmail.com>
Tue, 5 Jul 2016 00:14:41 +0000 (00:14 +0000)
src/libsyntax/ext/expand.rs

index c670283e559d9b8c60451dc964c617302ccada20..877293bac54f77547aa64bcee932e0893f5037bd 100644 (file)
@@ -769,7 +769,11 @@ fn expand_annotatable(mut item: Annotatable, fld: &mut MacroExpander) -> SmallVe
             };
 
             fld.cx.bt_pop();
-            modified.into_iter().flat_map(|it| expand_annotatable(it, fld)).collect()
+            let configured = modified.into_iter().flat_map(|it| {
+                it.fold_with(&mut fld.strip_unconfigured())
+            }).collect::<SmallVector<_>>();
+
+            configured.into_iter().flat_map(|it| expand_annotatable(it, fld)).collect()
         }
     }
 }