提交 8577343f 编写于 作者: E Eduard Burtescu

Fix fallout in macro_crate/quote tests.

上级 5b2837b9
...@@ -20,10 +20,9 @@ ...@@ -20,10 +20,9 @@
use syntax::ext::base::*; use syntax::ext::base::*;
use syntax::parse::token; use syntax::parse::token;
use syntax::parse; use syntax::parse;
use syntax::ptr::P;
use rustc::plugin::Registry; use rustc::plugin::Registry;
use std::gc::{Gc, GC};
#[macro_export] #[macro_export]
macro_rules! exported_macro (() => (2i)) macro_rules! exported_macro (() => (2i))
...@@ -57,12 +56,12 @@ fn expand_identity(cx: &mut ExtCtxt, _span: Span, tts: &[TokenTree]) ...@@ -57,12 +56,12 @@ fn expand_identity(cx: &mut ExtCtxt, _span: Span, tts: &[TokenTree])
MacExpr::new(quote_expr!(&mut *cx, $expr)) MacExpr::new(quote_expr!(&mut *cx, $expr))
} }
fn expand_into_foo(cx: &mut ExtCtxt, sp: Span, attr: Gc<MetaItem>, it: Gc<Item>) fn expand_into_foo(cx: &mut ExtCtxt, sp: Span, attr: &MetaItem, it: P<Item>)
-> Gc<Item> { -> P<Item> {
box(GC) Item { P(Item {
attrs: it.attrs.clone(), attrs: it.attrs.clone(),
..(*quote_item!(cx, enum Foo { Bar, Baz }).unwrap()).clone() ..(*quote_item!(cx, enum Foo { Bar, Baz }).unwrap()).clone()
} })
} }
fn expand_forged_ident(cx: &mut ExtCtxt, sp: Span, tts: &[TokenTree]) -> Box<MacResult+'static> { fn expand_forged_ident(cx: &mut ExtCtxt, sp: Span, tts: &[TokenTree]) -> Box<MacResult+'static> {
......
...@@ -16,24 +16,24 @@ ...@@ -16,24 +16,24 @@
extern crate syntax; extern crate syntax;
use syntax::ext::base::ExtCtxt; use syntax::ext::base::ExtCtxt;
use std::gc::Gc; use syntax::ptr::P;
fn syntax_extension(cx: &ExtCtxt) { fn syntax_extension(cx: &ExtCtxt) {
let e_toks : Vec<syntax::ast::TokenTree> = quote_tokens!(cx, 1 + 2); let e_toks : Vec<syntax::ast::TokenTree> = quote_tokens!(cx, 1 + 2);
let p_toks : Vec<syntax::ast::TokenTree> = quote_tokens!(cx, (x, 1 .. 4, *)); let p_toks : Vec<syntax::ast::TokenTree> = quote_tokens!(cx, (x, 1 .. 4, *));
let a: Gc<syntax::ast::Expr> = quote_expr!(cx, 1 + 2); let a: P<syntax::ast::Expr> = quote_expr!(cx, 1 + 2);
let _b: Option<Gc<syntax::ast::Item>> = quote_item!(cx, static foo : int = $e_toks; ); let _b: Option<P<syntax::ast::Item>> = quote_item!(cx, static foo : int = $e_toks; );
let _c: Gc<syntax::ast::Pat> = quote_pat!(cx, (x, 1 .. 4, *) ); let _c: P<syntax::ast::Pat> = quote_pat!(cx, (x, 1 .. 4, *) );
let _d: Gc<syntax::ast::Stmt> = quote_stmt!(cx, let x = $a; ); let _d: P<syntax::ast::Stmt> = quote_stmt!(cx, let x = $a; );
let _d: syntax::ast::Arm = quote_arm!(cx, (ref x, ref y) = (x, y) ); let _d: syntax::ast::Arm = quote_arm!(cx, (ref x, ref y) = (x, y) );
let _e: Gc<syntax::ast::Expr> = quote_expr!(cx, match foo { $p_toks => 10 } ); let _e: P<syntax::ast::Expr> = quote_expr!(cx, match foo { $p_toks => 10 } );
let _f: Gc<syntax::ast::Expr> = quote_expr!(cx, ()); let _f: P<syntax::ast::Expr> = quote_expr!(cx, ());
let _g: Gc<syntax::ast::Expr> = quote_expr!(cx, true); let _g: P<syntax::ast::Expr> = quote_expr!(cx, true);
let _h: Gc<syntax::ast::Expr> = quote_expr!(cx, 'a'); let _h: P<syntax::ast::Expr> = quote_expr!(cx, 'a');
let i: Option<Gc<syntax::ast::Item>> = quote_item!(cx, #[deriving(Eq)] struct Foo; ); let i: Option<P<syntax::ast::Item>> = quote_item!(cx, #[deriving(Eq)] struct Foo; );
assert!(i.is_some()); assert!(i.is_some());
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册