about summary refs log tree commit diff
path: root/src/libsyntax/ext/fmt.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/libsyntax/ext/fmt.rs')
-rw-r--r--src/libsyntax/ext/fmt.rs14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/libsyntax/ext/fmt.rs b/src/libsyntax/ext/fmt.rs
index 2efed5780b4..65b29ecaa91 100644
--- a/src/libsyntax/ext/fmt.rs
+++ b/src/libsyntax/ext/fmt.rs
@@ -22,7 +22,9 @@ use ext::base::*;
 use ext::base;
 use ext::build::AstBuilder;
 
+use core::option;
 use core::unstable::extfmt::ct::*;
+use core::vec;
 
 pub fn expand_syntax_ext(cx: @ExtCtxt, sp: span, tts: &[ast::token_tree])
     -> base::MacResult {
@@ -52,8 +54,11 @@ fn pieces_to_expr(cx: @ExtCtxt, sp: span,
    -> @ast::expr {
     fn make_path_vec(cx: @ExtCtxt, ident: &str) -> ~[ast::ident] {
         let intr = cx.parse_sess().interner;
-        return ~[intr.intern("unstable"), intr.intern("extfmt"),
-                 intr.intern("rt"), intr.intern(ident)];
+        return ~[intr.intern("std"),
+                 intr.intern("unstable"),
+                 intr.intern("extfmt"),
+                 intr.intern("rt"),
+                 intr.intern(ident)];
     }
     fn make_rt_path_expr(cx: @ExtCtxt, sp: span, nm: &str) -> @ast::expr {
         let path = make_path_vec(cx, nm);
@@ -252,6 +257,7 @@ fn pieces_to_expr(cx: @ExtCtxt, sp: span,
     /* 'ident' is the local buffer building up the result of fmt! */
     let ident = cx.parse_sess().interner.intern("__fmtbuf");
     let buf = || cx.expr_ident(fmt_sp, ident);
+    let core_ident = cx.parse_sess().interner.intern("std");
     let str_ident = cx.parse_sess().interner.intern("str");
     let push_ident = cx.parse_sess().interner.intern("push_str");
     let mut stms = ~[];
@@ -273,7 +279,9 @@ fn pieces_to_expr(cx: @ExtCtxt, sp: span,
                 } else {
                     let args = ~[cx.expr_mut_addr_of(fmt_sp, buf()), cx.expr_str(fmt_sp, s)];
                     let call = cx.expr_call_global(fmt_sp,
-                                                   ~[str_ident, push_ident],
+                                                   ~[core_ident,
+                                                     str_ident,
+                                                     push_ident],
                                                    args);
                     stms.push(cx.stmt_expr(call));
                 }