]> git.lizzy.rs Git - rust.git/commitdiff
Fix rebase fallout
authorSteven Fackler <sfackler@gmail.com>
Wed, 24 Sep 2014 07:35:42 +0000 (00:35 -0700)
committerSteven Fackler <sfackler@gmail.com>
Wed, 24 Sep 2014 07:35:42 +0000 (00:35 -0700)
src/libsyntax/ext/base.rs
src/libsyntax/ext/cfg_attr.rs
src/libsyntax/test.rs

index 79dc623f5074fd2c753a247ccbb02879619d435c..8bf13e20fedf79e6f5b685185a9945b39a99f687 100644 (file)
@@ -440,7 +440,7 @@ fn builtin_normal_expander(f: MacroExpanderFn) -> SyntaxExtension {
                             builtin_normal_expander(
                                     ext::cfg::expand_cfg));
     syntax_expanders.insert(intern("cfg_attr"),
-                            ItemModifier(ext::cfg_attr::expand));
+                            Modifier(box ext::cfg_attr::expand));
     syntax_expanders.insert(intern("trace_macros"),
                             builtin_normal_expander(
                                     ext::trace_macros::expand_trace_macros));
index 5df94ac526d08b161e8661784bed43dafaea92bb..ad02b50f248b4a6f3be98c98e58c6fbb6baf8783 100644 (file)
@@ -8,18 +8,16 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::gc::{Gc, GC};
-
 use ast;
 use attr;
 use codemap::Span;
 use ext::base::ExtCtxt;
 use ext::build::AstBuilder;
+use ptr::P;
 
-pub fn expand(cx: &mut ExtCtxt, sp: Span, mi: Gc<ast::MetaItem>, it: Gc<ast::Item>)
-          -> Gc<ast::Item> {
+pub fn expand(cx: &mut ExtCtxt, sp: Span, mi: &ast::MetaItem, it: P<ast::Item>) -> P<ast::Item> {
     let (cfg, attr) = match mi.node {
-        ast::MetaList(_, ref mis) if mis.len() == 2 => (mis[0], mis[1]),
+        ast::MetaList(_, ref mis) if mis.len() == 2 => (&mis[0], &mis[1]),
         _ => {
             cx.span_err(sp, "expected `#[cfg_attr(<cfg pattern>, <attr>)]`");
             return it;
@@ -27,26 +25,26 @@ pub fn expand(cx: &mut ExtCtxt, sp: Span, mi: Gc<ast::MetaItem>, it: Gc<ast::Ite
     };
 
     let mut out = (*it).clone();
-    if cfg_matches(cx, cfg) {
-        out.attrs.push(cx.attribute(attr.span, attr));
+    if cfg_matches(cx, &**cfg) {
+        out.attrs.push(cx.attribute(attr.span, attr.clone()));
     }
 
-    box(GC) out
+    P(out)
 }
 
-fn cfg_matches(cx: &mut ExtCtxt, cfg: Gc<ast::MetaItem>) -> bool {
+fn cfg_matches(cx: &mut ExtCtxt, cfg: &ast::MetaItem) -> bool {
     match cfg.node {
         ast::MetaList(ref pred, ref mis) if pred.get() == "any" =>
-            mis.iter().any(|mi| cfg_matches(cx, *mi)),
+            mis.iter().any(|mi| cfg_matches(cx, &**mi)),
         ast::MetaList(ref pred, ref mis) if pred.get() == "all" =>
-            mis.iter().all(|mi| cfg_matches(cx, *mi)),
+            mis.iter().all(|mi| cfg_matches(cx, &**mi)),
         ast::MetaList(ref pred, ref mis) if pred.get() == "not" => {
             if mis.len() != 1 {
                 cx.span_err(cfg.span, format!("expected 1 value, got {}",
                                               mis.len()).as_slice());
                 return false;
             }
-            !cfg_matches(cx, mis[0])
+            !cfg_matches(cx, &*mis[0])
         }
         ast::MetaList(ref pred, _) => {
             cx.span_err(cfg.span,
index b6e3023d2ae3a944f67733ec0cf8df62f4d28c5c..091b0ce8ed949adab4d483e223d787e5e2c6489f 100644 (file)
@@ -340,7 +340,7 @@ fn is_ignored(cx: &TestCtxt, i: &ast::Item) -> bool {
         attr.check_name("ignore") && match attr.meta_item_list() {
             Some(ref cfgs) => {
                 if cfgs.iter().any(|cfg| cfg.check_name("cfg")) {
-                    cx.sess.span_warn(attr.span,
+                    cx.span_diagnostic.span_warn(attr.span,
                             "The use of cfg filters in #[ignore] is \
                              deprecated. Use #[cfg_attr(<cfg pattern>, \
                              ignore)] instead.");