about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2016-04-07 16:47:12 -0700
committerAlex Crichton <alex@alexcrichton.com>2016-04-11 09:26:59 -0700
commit42bcb4047d724b91b9026ac871cfe24f2e831f14 (patch)
tree4bb3a22b654eb6af65a970eac943f423a4dd9c2f
parent470ca1c3ff33cd046f71a5453f8f520da4cd387e (diff)
downloadrust-42bcb4047d724b91b9026ac871cfe24f2e831f14.tar.gz
rust-42bcb4047d724b91b9026ac871cfe24f2e831f14.zip
rustdoc: Fix testing no_run code blocks
This was a regression introduced by #31250 where the compiler deferred returning
the results of compilation a little too late (after the `Stop` check was looked
at). This commit alters the stop point to first try to return an erroneous
`result` and only if it was successful return the sentinel `Err(0)`.

Closes #31576
-rw-r--r--src/librustc_driver/driver.rs2
-rw-r--r--src/librustc_typeck/diagnostics.rs2
-rw-r--r--src/test/run-pass/coerce-expect-unsized.rs2
-rw-r--r--src/test/run-pass/deriving-via-extension-hash-enum.rs2
-rw-r--r--src/test/run-pass/foreign-dupe.rs2
-rw-r--r--src/test/rustdoc/no-run-still-checks-lints.rs19
6 files changed, 21 insertions, 8 deletions
diff --git a/src/librustc_driver/driver.rs b/src/librustc_driver/driver.rs
index f661b2a38b6..496cc4e8b26 100644
--- a/src/librustc_driver/driver.rs
+++ b/src/librustc_driver/driver.rs
@@ -193,7 +193,7 @@ pub fn compile_input(sess: &Session,
                 (control.after_analysis.callback)(state);
 
                 if control.after_analysis.stop == Compilation::Stop {
-                    return Err(0usize);
+                    return result.and_then(|_| Err(0usize));
                 }
             }
 
diff --git a/src/librustc_typeck/diagnostics.rs b/src/librustc_typeck/diagnostics.rs
index bef6c1ed43a..4a4bcd96ad0 100644
--- a/src/librustc_typeck/diagnostics.rs
+++ b/src/librustc_typeck/diagnostics.rs
@@ -632,7 +632,7 @@ recursion limit (which can be set via the `recursion_limit` attribute).
 
 For a somewhat artificial example:
 
-```compile_fail
+```compile_fail,ignore
 #![recursion_limit="2"]
 
 struct Foo;
diff --git a/src/test/run-pass/coerce-expect-unsized.rs b/src/test/run-pass/coerce-expect-unsized.rs
index f846ee8f3d0..e4792e7936b 100644
--- a/src/test/run-pass/coerce-expect-unsized.rs
+++ b/src/test/run-pass/coerce-expect-unsized.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// pretty-expanded FIXME #23616
-
 #![allow(unknown_features)]
 #![feature(box_syntax)]
 
diff --git a/src/test/run-pass/deriving-via-extension-hash-enum.rs b/src/test/run-pass/deriving-via-extension-hash-enum.rs
index 249661f003f..cbe23ea0522 100644
--- a/src/test/run-pass/deriving-via-extension-hash-enum.rs
+++ b/src/test/run-pass/deriving-via-extension-hash-enum.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// pretty-expanded FIXME #23616
-
 #[derive(Hash)]
 enum Foo {
     Bar(isize, char),
diff --git a/src/test/run-pass/foreign-dupe.rs b/src/test/run-pass/foreign-dupe.rs
index 6c393ce99e3..4e06c434ccc 100644
--- a/src/test/run-pass/foreign-dupe.rs
+++ b/src/test/run-pass/foreign-dupe.rs
@@ -10,8 +10,6 @@
 
 // calling pin_thread and that's having weird side-effects.
 
-// pretty-expanded FIXME #23616
-
 #![feature(libc)]
 
 mod rustrt1 {
diff --git a/src/test/rustdoc/no-run-still-checks-lints.rs b/src/test/rustdoc/no-run-still-checks-lints.rs
new file mode 100644
index 00000000000..a9df3c3c7f2
--- /dev/null
+++ b/src/test/rustdoc/no-run-still-checks-lints.rs
@@ -0,0 +1,19 @@
+// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// compile-flags:--test
+// should-fail
+
+#![doc(test(attr(deny(warnings))))]
+
+/// ```no_run
+/// let a = 3;
+/// ```
+pub fn foo() {}