about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorMike Boutin <mike.boutin@gmail.com>2014-07-04 17:25:27 -0400
committerMike Boutin <mike.boutin@gmail.com>2014-07-04 17:28:04 -0400
commitf37e202b53d208cd65f45fa96d2f2453b26bb9ee (patch)
treeaee971551701b07aabdd80cff840eae1e5a9bede /src
parent935da0739e71c5581e5e6abb564e18f894e0ec04 (diff)
downloadrust-f37e202b53d208cd65f45fa96d2f2453b26bb9ee.tar.gz
rust-f37e202b53d208cd65f45fa96d2f2453b26bb9ee.zip
rustc: Reorder error and note message to reduce confusion.
Moved note after error to reduce confusion when the pair appears in the
middle of other errors. Closes #13279.
Diffstat (limited to 'src')
-rw-r--r--src/doc/guide.md7
-rw-r--r--src/librustc/middle/liveness.rs4
2 files changed, 6 insertions, 5 deletions
diff --git a/src/doc/guide.md b/src/doc/guide.md
index dc9608563e1..ab480745b68 100644
--- a/src/doc/guide.md
+++ b/src/doc/guide.md
@@ -895,13 +895,14 @@ fn add_one(x: int) -> int {
 We would get an error:
 
 ```{ignore,notrust}
-note: consider removing this semicolon:
-     x + 1;
-          ^
 error: not all control paths return a value
 fn add_one(x: int) -> int {
      x + 1;
 }
+
+note: consider removing this semicolon:
+     x + 1;
+          ^
 ```
 
 Remember our earlier discussions about semicolons and `()`? Our function claims
diff --git a/src/librustc/middle/liveness.rs b/src/librustc/middle/liveness.rs
index d48f7f541f0..a3306245762 100644
--- a/src/librustc/middle/liveness.rs
+++ b/src/librustc/middle/liveness.rs
@@ -1458,6 +1458,8 @@ impl<'a> Liveness<'a> {
                         },
                     _ => false
                 };
+                self.ir.tcx.sess.span_err(
+                    sp, "not all control paths return a value");
                 if ends_with_stmt {
                     let last_stmt = body.stmts.last().unwrap();
                     let original_span = original_sp(last_stmt.span, sp);
@@ -1469,8 +1471,6 @@ impl<'a> Liveness<'a> {
                     self.ir.tcx.sess.span_note(
                         span_semicolon, "consider removing this semicolon:");
                 }
-                self.ir.tcx.sess.span_err(
-                    sp, "not all control paths return a value");
            }
         }
     }