about summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
authorSteven Fackler <sfackler@gmail.com>2014-02-10 19:45:28 -0800
committerSteven Fackler <sfackler@gmail.com>2014-02-10 20:10:17 -0800
commitccd1cda10eaa570e67d8daccfcb3e0e3b651da2d (patch)
treed10d59d520c49c7412f992357816def6a9757912 /src/libsyntax
parent47ab5d2d42aaf9e04afe6cc5aa84446e523d83ff (diff)
downloadrust-ccd1cda10eaa570e67d8daccfcb3e0e3b651da2d.tar.gz
rust-ccd1cda10eaa570e67d8daccfcb3e0e3b651da2d.zip
Ignore #[phase] on use view items
Closes #11806
Diffstat (limited to 'src/libsyntax')
-rw-r--r--src/libsyntax/ext/expand.rs21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/libsyntax/ext/expand.rs b/src/libsyntax/ext/expand.rs
index cfad88e2482..69611829c7c 100644
--- a/src/libsyntax/ext/expand.rs
+++ b/src/libsyntax/ext/expand.rs
@@ -394,15 +394,20 @@ pub fn expand_item_mac(it: @ast::Item, fld: &mut MacroExpander)
 pub fn expand_view_item(vi: &ast::ViewItem,
                         fld: &mut MacroExpander)
                         -> ast::ViewItem {
-    let should_load = vi.attrs.iter().any(|attr| {
-        attr.name().get() == "phase" &&
-            attr.meta_item_list().map_or(false, |phases| {
-                attr::contains_name(phases, "syntax")
-            })
-    });
+    match vi.node {
+        ast::ViewItemExternMod(..) => {
+            let should_load = vi.attrs.iter().any(|attr| {
+                attr.name().get() == "phase" &&
+                    attr.meta_item_list().map_or(false, |phases| {
+                        attr::contains_name(phases, "syntax")
+                    })
+            });
 
-    if should_load {
-        load_extern_macros(vi, fld);
+            if should_load {
+                load_extern_macros(vi, fld);
+            }
+        }
+        ast::ViewItemUse(_) => {}
     }
 
     noop_fold_view_item(vi, fld)