aboutsummaryrefslogtreecommitdiff
path: root/src/comp
diff options
context:
space:
mode:
authorGraydon Hoare <[email protected]>2010-11-25 16:53:17 -0800
committerGraydon Hoare <[email protected]>2010-11-25 16:53:17 -0800
commit416d9bc0fd20c87dc4ed96e2018156e65fea1e2b (patch)
tree1c5a4b178e60be70545b03c44569639ba7160693 /src/comp
parentTranslate field expressions. (diff)
downloadrust-416d9bc0fd20c87dc4ed96e2018156e65fea1e2b.tar.xz
rust-416d9bc0fd20c87dc4ed96e2018156e65fea1e2b.zip
Fix typo in numeric-label-parsing loop.
Diffstat (limited to 'src/comp')
-rw-r--r--src/comp/middle/typeck.rs15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/comp/middle/typeck.rs b/src/comp/middle/typeck.rs
index 9f2bf64c..0fd55d5d 100644
--- a/src/comp/middle/typeck.rs
+++ b/src/comp/middle/typeck.rs
@@ -408,18 +408,25 @@ fn field_num(session.session sess, &span sp, &ast.ident id) -> uint {
let uint i = 0u;
for (u8 c in id) {
if (i == 0u) {
- if (c != '_' as u8) {
- sess.span_err(sp, "bad numeric field on tuple");
+ if (c != ('_' as u8)) {
+ sess.span_err(sp,
+ "bad numeric field on tuple: "
+ + "missing leading underscore");
}
} else {
- i += 1u;
if (('0' as u8) <= c && c <= ('9' as u8)) {
accum *= 10u;
accum += (c as uint) - ('0' as uint);
} else {
- sess.span_err(sp, "bad numeric field on tuple");
+ auto s = "";
+ s += c;
+ sess.span_err(sp,
+ "bad numeric field on tuple: "
+ + " non-digit character: "
+ + s);
}
}
+ i += 1u;
}
ret accum;
}