about summary refs log tree commit diff
path: root/src/libsyntax/ext
diff options
context:
space:
mode:
authorJeffrey Seyfried <jeffrey.seyfried@gmail.com>2016-07-04 03:10:04 +0000
committerJeffrey Seyfried <jeffrey.seyfried@gmail.com>2016-07-05 00:14:41 +0000
commitc454c1d4ac9ad19a03b892a6173419e8b95849d1 (patch)
tree3c85d88e00adfebc3b09011908e4a0624fd7d9a7 /src/libsyntax/ext
parent696b703b5a58816bb0e549ac332a98fa7e635949 (diff)
downloadrust-c454c1d4ac9ad19a03b892a6173419e8b95849d1.tar.gz
rust-c454c1d4ac9ad19a03b892a6173419e8b95849d1.zip
Strip unconfigured items from `MultiModifier`-expanded AST
Diffstat (limited to 'src/libsyntax/ext')
-rw-r--r--src/libsyntax/ext/expand.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libsyntax/ext/expand.rs b/src/libsyntax/ext/expand.rs
index c670283e559..877293bac54 100644
--- a/src/libsyntax/ext/expand.rs
+++ b/src/libsyntax/ext/expand.rs
@@ -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()
         }
     }
 }