diff --git a/src/libhexfloat/lib.rs b/src/libhexfloat/lib.rs index 03bd96fc260bc24282ad6eea4b84d17b43c0ff46..ae7a3e66dfdf816288bd719118ee9a4666858624 100644 --- a/src/libhexfloat/lib.rs +++ b/src/libhexfloat/lib.rs @@ -57,10 +57,9 @@ fn main() { use syntax::ext::base::{ExtCtxt, MacExpr}; use syntax::ext::build::AstBuilder; use syntax::parse::token; +use syntax::ptr::P; use rustc::plugin::Registry; -use std::gc::Gc; - #[plugin_registrar] pub fn plugin_registrar(reg: &mut Registry) { reg.register_macro("hexfloat", expand_syntax_ext); @@ -122,7 +121,7 @@ pub fn expand_syntax_ext(cx: &mut ExtCtxt, sp: Span, tts: &[ast::TokenTree]) let s = match expr.node { // expression is a literal - ast::ExprLit(lit) => match lit.node { + ast::ExprLit(ref lit) => match lit.node { // string literal ast::LitStr(ref s, _) => { s.clone() @@ -167,7 +166,7 @@ struct Ident { } fn parse_tts(cx: &ExtCtxt, - tts: &[ast::TokenTree]) -> (Gc, Option) { + tts: &[ast::TokenTree]) -> (P, Option) { let p = &mut cx.new_parser_from_tts(tts); let ex = p.parse_expr(); let id = if p.token == token::EOF {