diff options
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/ext/deriving/decodable.rs | 1 | ||||
| -rw-r--r-- | src/libsyntax/ext/format.rs | 11 | ||||
| -rw-r--r-- | src/libsyntax/util/interner.rs | 2 |
3 files changed, 7 insertions, 7 deletions
diff --git a/src/libsyntax/ext/deriving/decodable.rs b/src/libsyntax/ext/deriving/decodable.rs index fd24f5e35a4..9e4dbf930db 100644 --- a/src/libsyntax/ext/deriving/decodable.rs +++ b/src/libsyntax/ext/deriving/decodable.rs @@ -136,6 +136,7 @@ fn decodable_substructure(cx: &mut ExtCtxt, trait_span: Span, cx.expr_ident(trait_span, variant), arms)); let lambda = cx.lambda_expr(trait_span, vec!(blkarg, variant), result); let variant_vec = cx.expr_vec(trait_span, variants); + let variant_vec = cx.expr_addr_of(trait_span, variant_vec); let result = cx.expr_method_call(trait_span, blkdecoder, cx.ident_of("read_enum_variant"), vec!(variant_vec, lambda)); diff --git a/src/libsyntax/ext/format.rs b/src/libsyntax/ext/format.rs index a816b479630..d4248a2c77d 100644 --- a/src/libsyntax/ext/format.rs +++ b/src/libsyntax/ext/format.rs @@ -14,7 +14,7 @@ use ext::base::*; use ext::base; use ext::build::AstBuilder; use fmt_macros as parse; -use parse::token::InternedString; +use parse::token::{InternedString, special_idents}; use parse::token; use ptr::P; @@ -476,12 +476,11 @@ impl<'a, 'b> Context<'a, 'b> { pieces: Vec<P<ast::Expr>>) -> P<ast::Stmt> { let fmtsp = piece_ty.span; - let pieces_len = ecx.expr_uint(fmtsp, pieces.len()); let fmt = ecx.expr_vec(fmtsp, pieces); - let ty = ast::TyFixedLengthVec( - piece_ty, - pieces_len - ); + let fmt = ecx.expr_addr_of(fmtsp, fmt); + let ty = ast::TyVec(piece_ty); + let ty = ast::TyRptr(Some(ecx.lifetime(fmtsp, special_idents::static_lifetime.name)), + ast::MutTy{ mutbl: ast::MutImmutable, ty: ecx.ty(fmtsp, ty) }); let ty = ecx.ty(fmtsp, ty); let st = ast::ItemStatic(ty, ast::MutImmutable, fmt); let item = ecx.item(fmtsp, name, Context::static_attrs(ecx, fmtsp), st); diff --git a/src/libsyntax/util/interner.rs b/src/libsyntax/util/interner.rs index 7588d15b678..08ada3e4435 100644 --- a/src/libsyntax/util/interner.rs +++ b/src/libsyntax/util/interner.rs @@ -247,7 +247,7 @@ mod tests { #[test] fn i3 () { - let i : Interner<RcStr> = Interner::prefill([ + let i : Interner<RcStr> = Interner::prefill(&[ RcStr::new("Alan"), RcStr::new("Bob"), RcStr::new("Carol") |
