about summary refs log tree commit diff
path: root/src/comp
diff options
context:
space:
mode:
authorGraydon Hoare <graydon@mozilla.com>2010-11-25 16:53:17 -0800
committerGraydon Hoare <graydon@mozilla.com>2010-11-25 16:53:17 -0800
commit416d9bc0fd20c87dc4ed96e2018156e65fea1e2b (patch)
tree1c5a4b178e60be70545b03c44569639ba7160693 /src/comp
parentf0abe8f568044885c7c5b24c148bf1c2b117ef01 (diff)
downloadrust-416d9bc0fd20c87dc4ed96e2018156e65fea1e2b.tar.gz
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 9f2bf64cde4..0fd55d5d4e5 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;
 }