about summary refs log tree commit diff
path: root/src/comp
diff options
context:
space:
mode:
authorBrian Anderson <andersrb@gmail.com>2011-06-04 18:23:06 -0400
committerBrian Anderson <andersrb@gmail.com>2011-06-04 19:48:19 -0400
commit53ea2a475150cd854d10d583ec19a0b43925fe58 (patch)
tree43c0a797da03e1d3795acd1afa37af80dfefd938 /src/comp
parenta177dc485b57f3bbe003899b6da0aa84e4ce1afb (diff)
downloadrust-53ea2a475150cd854d10d583ec19a0b43925fe58.tar.gz
rust-53ea2a475150cd854d10d583ec19a0b43925fe58.zip
stdlib: Use spans for #fmt errors originating in std
Issue #444
Diffstat (limited to 'src/comp')
-rw-r--r--src/comp/front/extfmt.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/comp/front/extfmt.rs b/src/comp/front/extfmt.rs
index 1856b81ce58..c3d4fffcbab 100644
--- a/src/comp/front/extfmt.rs
+++ b/src/comp/front/extfmt.rs
@@ -28,11 +28,17 @@ fn expand_syntax_ext(&ext_ctxt cx,
     }
 
     auto fmt = expr_to_str(cx, args.(0));
+    auto fmtspan = args.(0).span;
 
     log "Format string:";
     log fmt;
 
-    auto pieces = parse_fmt_string(fmt);
+    fn parse_fmt_err_(&ext_ctxt cx, common::span sp, str msg) -> ! {
+        cx.span_err(sp, msg);
+    }
+
+    auto parse_fmt_err = bind parse_fmt_err_(cx, fmtspan, _);
+    auto pieces = parse_fmt_string(fmt, parse_fmt_err);
     auto args_len = vec::len[@ast::expr](args);
     auto fmt_args = vec::slice[@ast::expr](args, 1u, args_len - 1u);
     ret pieces_to_expr(cx, sp, pieces, args);