diff options
Diffstat (limited to 'src/libsyntax/ext')
| -rw-r--r-- | src/libsyntax/ext/base.rs | 6 | ||||
| -rw-r--r-- | src/libsyntax/ext/expand.rs | 1 |
2 files changed, 5 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. diff --git a/src/libsyntax/ext/expand.rs b/src/libsyntax/ext/expand.rs index 6c2b0610fa0..d3f2e0ea095 100644 --- a/src/libsyntax/ext/expand.rs +++ b/src/libsyntax/ext/expand.rs @@ -636,6 +636,7 @@ pub fn expand_item_mac(it: P<ast::Item>, span: it.span, imported_from: None, export: attr::contains_name(it.attrs.as_slice(), "macro_export"), + use_locally: true, body: tts, }; fld.cx.insert_macro(def); |
