about summary refs log tree commit diff
path: root/src/libsyntax/ext/base.rs
diff options
context:
space:
mode:
authorKeegan McAllister <kmcallister@mozilla.com>2015-01-02 12:50:45 -0800
committerKeegan McAllister <kmcallister@mozilla.com>2015-01-05 18:21:13 -0800
commitaa69cbde8279cd90457454c3b3f40a36e8a79dff (patch)
tree6fadc77e821fb42ff743b355a5432180848e1a30 /src/libsyntax/ext/base.rs
parent0816255c80ee3f2a8870ee5e4379e3739d8ed72e (diff)
downloadrust-aa69cbde8279cd90457454c3b3f40a36e8a79dff.tar.gz
rust-aa69cbde8279cd90457454c3b3f40a36e8a79dff.zip
Allow selective macro import
Diffstat (limited to 'src/libsyntax/ext/base.rs')
-rw-r--r--src/libsyntax/ext/base.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/libsyntax/ext/base.rs b/src/libsyntax/ext/base.rs
index 815159e94c8..91ae7396ea4 100644
--- a/src/libsyntax/ext/base.rs
+++ b/src/libsyntax/ext/base.rs
@@ -574,8 +574,10 @@ impl<'a> ExtCtxt<'a> {
         if def.export {
             self.exported_macros.push(def.clone());
         }
-        let ext = macro_rules::compile(self, &def);
-        self.syntax_env.insert(def.ident.name, ext);
+        if def.use_locally {
+            let ext = macro_rules::compile(self, &def);
+            self.syntax_env.insert(def.ident.name, ext);
+        }
     }
 
     /// Emit `msg` attached to `sp`, and stop compilation immediately.