aboutsummaryrefslogtreecommitdiff
path: root/src/comp/front/extfmt.rs
diff options
context:
space:
mode:
authorBrian Anderson <[email protected]>2011-04-17 13:10:02 -0400
committerBrian Anderson <[email protected]>2011-04-17 13:10:02 -0400
commitc7edcb3a72f3991962acce0874c2ee24a4f38cf5 (patch)
tree7e0f3a79abea51f31a46e105970fe1fd5e074af7 /src/comp/front/extfmt.rs
parentSupport left-justification in #fmt conversions (diff)
downloadrust-c7edcb3a72f3991962acce0874c2ee24a4f38cf5.tar.xz
rust-c7edcb3a72f3991962acce0874c2ee24a4f38cf5.zip
Support #fmt precision for string types
Diffstat (limited to 'src/comp/front/extfmt.rs')
-rw-r--r--src/comp/front/extfmt.rs10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/comp/front/extfmt.rs b/src/comp/front/extfmt.rs
index 241e71a8..3aa24a90 100644
--- a/src/comp/front/extfmt.rs
+++ b/src/comp/front/extfmt.rs
@@ -234,18 +234,22 @@ fn pieces_to_expr(vec[piece] pieces, vec[@ast.expr] args) -> @ast.expr {
fn make_conv_rec(common.span sp,
@ast.expr flags_expr,
@ast.expr width_expr,
+ @ast.expr precision_expr,
@ast.expr ty_expr) -> @ast.expr {
ret make_rec_expr(sp, vec(tup("flags", flags_expr),
tup("width", width_expr),
+ tup("precision", precision_expr),
tup("ty", ty_expr)));
}
auto rt_conv_flags = make_flags(sp, cnv.flags);
auto rt_conv_width = make_count(sp, cnv.width);
+ auto rt_conv_precision = make_count(sp, cnv.precision);
auto rt_conv_ty = make_ty(sp, cnv.ty);
ret make_conv_rec(sp,
rt_conv_flags,
rt_conv_width,
+ rt_conv_precision,
rt_conv_ty);
}
@@ -296,6 +300,8 @@ fn pieces_to_expr(vec[piece] pieces, vec[@ast.expr] args) -> @ast.expr {
alt (cnv.precision) {
case (count_implied) {
}
+ case (count_is(_)) {
+ }
case (_) {
log unsupported;
fail;
@@ -444,8 +450,8 @@ fn pieces_to_expr(vec[piece] pieces, vec[@ast.expr] args) -> @ast.expr {
}
// TODO: Remove debug logging
- // log "Building conversion:";
- // log_conv(conv);
+ //log "Building conversion:";
+ //log_conv(conv);
n += 1u;
auto arg_expr = args.(n);