diff options
| author | Jeffrey Seyfried <jeffrey.seyfried@gmail.com> | 2016-11-05 04:16:26 +0000 |
|---|---|---|
| committer | Jeffrey Seyfried <jeffrey.seyfried@gmail.com> | 2016-11-22 01:48:10 +0000 |
| commit | 5675d9d28007691c4f396abcd4b29a228150eeb4 (patch) | |
| tree | ff28ee180c2e904520168d953a6946574c94b18b /src/libsyntax/ext/tt | |
| parent | 7b3eeea22c9b81f6e7277b79517a0dab25b9f383 (diff) | |
| download | rust-5675d9d28007691c4f396abcd4b29a228150eeb4.tar.gz rust-5675d9d28007691c4f396abcd4b29a228150eeb4.zip | |
Clean up directory ownership semantics.
Diffstat (limited to 'src/libsyntax/ext/tt')
| -rw-r--r-- | src/libsyntax/ext/tt/macro_rules.rs | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/libsyntax/ext/tt/macro_rules.rs b/src/libsyntax/ext/tt/macro_rules.rs index 59b8b50e88c..4164b4a93ec 100644 --- a/src/libsyntax/ext/tt/macro_rules.rs +++ b/src/libsyntax/ext/tt/macro_rules.rs @@ -19,7 +19,7 @@ use ext::tt::macro_parser::{MatchedSeq, MatchedNonterminal}; use ext::tt::macro_parser::{parse, parse_failure_msg}; use parse::ParseSess; use parse::lexer::new_tt_reader; -use parse::parser::{Parser, Restrictions}; +use parse::parser::Parser; use parse::token::{self, NtTT, Token}; use parse::token::Token::*; use print; @@ -117,11 +117,12 @@ fn generic_extension<'cx>(cx: &'cx ExtCtxt, let trncbr = new_tt_reader(&cx.parse_sess.span_diagnostic, Some(named_matches), rhs); let mut p = Parser::new(cx.parse_sess(), Box::new(trncbr)); - p.directory = cx.current_expansion.module.directory.clone(); - p.restrictions = match cx.current_expansion.no_noninline_mod { - true => Restrictions::NO_NONINLINE_MOD, - false => Restrictions::empty(), - }; + let module = &cx.current_expansion.module; + p.directory.path = module.directory.clone(); + p.directory.ownership = cx.current_expansion.directory_ownership; + p.root_module_name = + module.mod_path.last().map(|id| (*id.name.as_str()).to_owned()); + p.check_unknown_macro_variable(); // Let the context choose how to interpret the result. // Weird, but useful for X-macros. |
