about summary refs log tree commit diff
path: root/src/libsyntax/ext
diff options
context:
space:
mode:
authorJeffrey Seyfried <jeffrey.seyfried@gmail.com>2016-06-11 01:37:24 +0000
committerJeffrey Seyfried <jeffrey.seyfried@gmail.com>2016-06-16 19:24:44 +0000
commit2cd6ccf0b14818cd1093a4618de2a854fb43f78b (patch)
tree3197219ec4a66c124ce12a4a63f21338928fb0c8 /src/libsyntax/ext
parent7aba683c76f3db78afa0c10a7b0ecfb02a3e8b63 (diff)
downloadrust-2cd6ccf0b14818cd1093a4618de2a854fb43f78b.tar.gz
rust-2cd6ccf0b14818cd1093a4618de2a854fb43f78b.zip
Simplify gated cfg checking
Diffstat (limited to 'src/libsyntax/ext')
-rw-r--r--src/libsyntax/ext/base.rs4
-rw-r--r--src/libsyntax/ext/expand.rs26
2 files changed, 14 insertions, 16 deletions
diff --git a/src/libsyntax/ext/base.rs b/src/libsyntax/ext/base.rs
index dba7d987d9f..4f700e9170f 100644
--- a/src/libsyntax/ext/base.rs
+++ b/src/libsyntax/ext/base.rs
@@ -18,7 +18,6 @@ use errors::DiagnosticBuilder;
 use ext;
 use ext::expand;
 use ext::tt::macro_rules;
-use feature_gate::GatedCfgAttr;
 use parse;
 use parse::parser;
 use parse::token;
@@ -556,7 +555,6 @@ pub struct ExtCtxt<'a> {
     pub backtrace: ExpnId,
     pub ecfg: expand::ExpansionConfig<'a>,
     pub crate_root: Option<&'static str>,
-    pub feature_gated_cfgs: &'a mut Vec<GatedCfgAttr>,
     pub loader: &'a mut MacroLoader,
 
     pub mod_path: Vec<ast::Ident> ,
@@ -573,7 +571,6 @@ pub struct ExtCtxt<'a> {
 impl<'a> ExtCtxt<'a> {
     pub fn new(parse_sess: &'a parse::ParseSess, cfg: ast::CrateConfig,
                ecfg: expand::ExpansionConfig<'a>,
-               feature_gated_cfgs: &'a mut Vec<GatedCfgAttr>,
                loader: &'a mut MacroLoader)
                -> ExtCtxt<'a> {
         let env = initial_syntax_expander_table(&ecfg);
@@ -584,7 +581,6 @@ impl<'a> ExtCtxt<'a> {
             mod_path: Vec::new(),
             ecfg: ecfg,
             crate_root: None,
-            feature_gated_cfgs: feature_gated_cfgs,
             exported_macros: Vec::new(),
             loader: loader,
             syntax_env: env,
diff --git a/src/libsyntax/ext/expand.rs b/src/libsyntax/ext/expand.rs
index 4631ffcf0ff..ed419d94ee4 100644
--- a/src/libsyntax/ext/expand.rs
+++ b/src/libsyntax/ext/expand.rs
@@ -998,10 +998,12 @@ impl<'a, 'b> MacroExpander<'a, 'b> {
     }
 
     fn strip_unconfigured(&mut self) -> StripUnconfigured {
-        StripUnconfigured::new(&self.cx.cfg,
-                               self.cx.ecfg.should_test,
-                               &self.cx.parse_sess.span_diagnostic,
-                               self.cx.feature_gated_cfgs)
+        StripUnconfigured {
+            config: &self.cx.cfg,
+            should_test: self.cx.ecfg.should_test,
+            sess: self.cx.parse_sess,
+            features: self.cx.ecfg.features,
+        }
     }
 
     fn load_macros<T: MacroGenerable>(&mut self, node: &T) {
@@ -1331,8 +1333,8 @@ mod tests {
             src,
             Vec::new(), &sess).unwrap();
         // should fail:
-        let (mut gated_cfgs, mut loader) = (vec![], DummyMacroLoader);
-        let ecx = ExtCtxt::new(&sess, vec![], test_ecfg(), &mut gated_cfgs, &mut loader);
+        let mut loader = DummyMacroLoader;
+        let ecx = ExtCtxt::new(&sess, vec![], test_ecfg(), &mut loader);
         expand_crate(ecx, vec![], crate_ast);
     }
 
@@ -1346,8 +1348,8 @@ mod tests {
             "<test>".to_string(),
             src,
             Vec::new(), &sess).unwrap();
-        let (mut gated_cfgs, mut loader) = (vec![], DummyMacroLoader);
-        let ecx = ExtCtxt::new(&sess, vec![], test_ecfg(), &mut gated_cfgs, &mut loader);
+        let mut loader = DummyMacroLoader;
+        let ecx = ExtCtxt::new(&sess, vec![], test_ecfg(), &mut loader);
         expand_crate(ecx, vec![], crate_ast);
     }
 
@@ -1360,8 +1362,8 @@ mod tests {
             "<test>".to_string(),
             src,
             Vec::new(), &sess).unwrap();
-        let (mut gated_cfgs, mut loader) = (vec![], DummyMacroLoader);
-        let ecx = ExtCtxt::new(&sess, vec![], test_ecfg(), &mut gated_cfgs, &mut loader);
+        let mut loader = DummyMacroLoader;
+        let ecx = ExtCtxt::new(&sess, vec![], test_ecfg(), &mut loader);
         expand_crate(ecx, vec![], crate_ast);
     }
 
@@ -1369,8 +1371,8 @@ mod tests {
         let ps = parse::ParseSess::new();
         let crate_ast = panictry!(string_to_parser(&ps, crate_str).parse_crate_mod());
         // the cfg argument actually does matter, here...
-        let (mut gated_cfgs, mut loader) = (vec![], DummyMacroLoader);
-        let ecx = ExtCtxt::new(&ps, vec![], test_ecfg(), &mut gated_cfgs, &mut loader);
+        let mut loader = DummyMacroLoader;
+        let ecx = ExtCtxt::new(&ps, vec![], test_ecfg(), &mut loader);
         expand_crate(ecx, vec![], crate_ast).0
     }