about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2014-07-05 18:11:43 +0000
committerbors <bors@rust-lang.org>2014-07-05 18:11:43 +0000
commitc8b2a3167b068f7ea30eebcfa7ad13d4c7ea3026 (patch)
tree31dedb36fe2f679e4ec7f8ff2cf37f76360d8973 /src
parentaaff4e05e19b48d81e4ecb3337f288f42d06edd0 (diff)
parentf37e202b53d208cd65f45fa96d2f2453b26bb9ee (diff)
downloadrust-c8b2a3167b068f7ea30eebcfa7ad13d4c7ea3026.tar.gz
rust-c8b2a3167b068f7ea30eebcfa7ad13d4c7ea3026.zip
auto merge of #15431 : iliekturtles/rust/13279-error-msg-order, r=pcwalton
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");
            }
         }
     }