about summary refs log tree commit diff
diff options
context:
space:
mode:
authorYuki Okushi <huyuumi.dev@gmail.com>2020-04-16 15:50:32 +0900
committerYuki Okushi <huyuumi.dev@gmail.com>2020-05-06 14:02:55 +0900
commite69748ba4f48efdc9a1dfcf8c16bc9aba39a86e3 (patch)
tree33fc77d7a08037da5deeb878068f5af0284aa732
parent43271a39adc26d29350d4830b594c6435472815e (diff)
downloadrust-e69748ba4f48efdc9a1dfcf8c16bc9aba39a86e3.tar.gz
rust-e69748ba4f48efdc9a1dfcf8c16bc9aba39a86e3.zip
Move tests from `test/run-fail` to UI
-rw-r--r--src/test/run-fail/bug-811.rs24
-rw-r--r--src/test/run-fail/overflowing-lsh-1.rs9
-rw-r--r--src/test/run-fail/overflowing-lsh-2.rs9
-rw-r--r--src/test/run-fail/overflowing-lsh-3.rs9
-rw-r--r--src/test/run-fail/overflowing-rsh-1.rs9
-rw-r--r--src/test/run-fail/overflowing-rsh-2.rs9
-rw-r--r--src/test/run-fail/overflowing-rsh-3.rs9
-rw-r--r--src/test/run-fail/overflowing-rsh-5.rs9
-rw-r--r--src/test/run-fail/overflowing-rsh-6.rs10
-rw-r--r--src/test/ui/array-slice-vec/bounds-check-no-overflow.rs (renamed from src/test/run-fail/bounds-check-no-overflow.rs)1
-rw-r--r--src/test/ui/array-slice-vec/dst-raw-slice.rs (renamed from src/test/run-fail/dst-raw-slice.rs)2
-rw-r--r--src/test/ui/binop/binop-fail-3.rs (renamed from src/test/run-fail/binop-fail-3.rs)3
-rw-r--r--src/test/ui/binop/binop-panic.rs (renamed from src/test/run-fail/binop-panic.rs)3
-rw-r--r--src/test/ui/borrowck/borrowck-local-borrow.rs (renamed from src/test/run-fail/borrowck-local-borrow.rs)1
-rw-r--r--src/test/ui/closures/diverging-closure.rs (renamed from src/test/run-fail/diverging-closure.rs)1
-rw-r--r--src/test/ui/consts/promoted_div_by_zero.rs (renamed from src/test/run-fail/promoted_div_by_zero.rs)1
-rw-r--r--src/test/ui/fn/expr-fn-panic.rs (renamed from src/test/run-fail/expr-fn-panic.rs)1
-rw-r--r--src/test/ui/generator/generator-resume-after-panic.rs (renamed from src/test/run-fail/generator-resume-after-panic.rs)1
-rw-r--r--src/test/ui/hashmap/hashmap-capacity-overflow.rs (renamed from src/test/run-fail/hashmap-capacity-overflow.rs)1
-rw-r--r--src/test/ui/hashmap/hashmap-iter-value-lifetime.nll.stderr (renamed from src/test/ui/hashmap-iter-value-lifetime.nll.stderr)0
-rw-r--r--src/test/ui/hashmap/hashmap-iter-value-lifetime.rs (renamed from src/test/ui/hashmap-iter-value-lifetime.rs)0
-rw-r--r--src/test/ui/hashmap/hashmap-iter-value-lifetime.stderr (renamed from src/test/ui/hashmap-iter-value-lifetime.stderr)0
-rw-r--r--src/test/ui/hashmap/hashmap-lifetimes.nll.stderr (renamed from src/test/ui/hashmap-lifetimes.nll.stderr)0
-rw-r--r--src/test/ui/hashmap/hashmap-lifetimes.rs (renamed from src/test/ui/hashmap-lifetimes.rs)0
-rw-r--r--src/test/ui/hashmap/hashmap-lifetimes.stderr (renamed from src/test/ui/hashmap-lifetimes.stderr)0
-rw-r--r--src/test/ui/hashmap/hashmap-memory.rs (renamed from src/test/ui/hashmap-memory.rs)0
-rw-r--r--src/test/ui/if/expr-if-panic-fn.rs (renamed from src/test/run-fail/expr-if-panic-fn.rs)1
-rw-r--r--src/test/ui/if/expr-if-panic.rs (renamed from src/test/run-fail/expr-if-panic.rs)1
-rw-r--r--src/test/ui/if/if-check-panic.rs (renamed from src/test/run-fail/if-check-panic.rs)2
-rw-r--r--src/test/ui/if/if-cond-bot.rs (renamed from src/test/run-fail/if-cond-bot.rs)3
-rw-r--r--src/test/ui/imports/glob-use-std.rs (renamed from src/test/run-fail/glob-use-std.rs)1
-rw-r--r--src/test/ui/issues/issue-12920.rs (renamed from src/test/run-fail/issue-12920.rs)1
-rw-r--r--src/test/ui/issues/issue-13202.rs (renamed from src/test/run-fail/issue-13202.rs)1
-rw-r--r--src/test/ui/issues/issue-18576.rs (renamed from src/test/run-fail/issue-18576.rs)2
-rw-r--r--src/test/ui/issues/issue-20971.rs (renamed from src/test/run-fail/issue-20971.rs)3
-rw-r--r--src/test/ui/issues/issue-23354-2.rs (renamed from src/test/run-fail/issue-23354-2.rs)1
-rw-r--r--src/test/ui/issues/issue-23354.rs (renamed from src/test/run-fail/issue-23354.rs)1
-rw-r--r--src/test/ui/issues/issue-2444.rs (renamed from src/test/run-fail/issue-2444.rs)7
-rw-r--r--src/test/ui/issues/issue-2470-bounds-check-overflow.rs (renamed from src/test/run-fail/bug-2470-bounds-check-overflow.rs)1
-rw-r--r--src/test/ui/issues/issue-2761.rs (renamed from src/test/run-fail/issue-2761.rs)1
-rw-r--r--src/test/ui/issues/issue-28934.rs (renamed from src/test/run-fail/issue-28934.rs)1
-rw-r--r--src/test/ui/issues/issue-29798.rs (renamed from src/test/run-fail/issue-29798.rs)1
-rw-r--r--src/test/ui/issues/issue-3029.rs (renamed from src/test/run-fail/issue-3029.rs)5
-rw-r--r--src/test/ui/issues/issue-30380.rs (renamed from src/test/run-fail/issue-30380.rs)1
-rw-r--r--src/test/ui/issues/issue-44216-add-instant.rs (renamed from src/test/run-fail/issue-44216-add-instant.rs)1
-rw-r--r--src/test/ui/issues/issue-44216-add-system-time.rs (renamed from src/test/run-fail/issue-44216-add-system-time.rs)1
-rw-r--r--src/test/ui/issues/issue-44216-sub-instant.rs (renamed from src/test/run-fail/issue-44216-sub-instant.rs)1
-rw-r--r--src/test/ui/issues/issue-44216-sub-system-time.rs (renamed from src/test/run-fail/issue-44216-sub-system-time.rs)1
-rw-r--r--src/test/ui/issues/issue-51345-2.rs (renamed from src/test/run-fail/issue-51345.rs)1
-rw-r--r--src/test/ui/issues/issue-6458-1.rs (renamed from src/test/run-fail/issue-6458-1.rs)1
-rw-r--r--src/test/ui/issues/issue-811.rs25
-rw-r--r--src/test/ui/issues/issue-948.rs (renamed from src/test/run-fail/issue-948.rs)1
-rw-r--r--src/test/ui/loops/for-each-loop-panic.rs (renamed from src/test/run-fail/for-each-loop-panic.rs)1
-rw-r--r--src/test/ui/macros/assert-as-macro.rs (renamed from src/test/run-fail/assert-as-macro.rs)1
-rw-r--r--src/test/ui/macros/assert-eq-macro-panic.rs (renamed from src/test/run-fail/assert-eq-macro-panic.rs)1
-rw-r--r--src/test/ui/macros/assert-macro-explicit.rs (renamed from src/test/run-fail/assert-macro-explicit.rs)1
-rw-r--r--src/test/ui/macros/assert-macro-fmt.rs (renamed from src/test/run-fail/assert-macro-fmt.rs)1
-rw-r--r--src/test/ui/macros/assert-macro-owned.rs (renamed from src/test/run-fail/assert-macro-owned.rs)1
-rw-r--r--src/test/ui/macros/assert-macro-static.rs (renamed from src/test/run-fail/assert-macro-static.rs)1
-rw-r--r--src/test/ui/macros/assert-ne-macro-panic.rs (renamed from src/test/run-fail/assert-ne-macro-panic.rs)1
-rw-r--r--src/test/ui/macros/die-macro-2.rs (renamed from src/test/run-fail/die-macro.rs)1
-rw-r--r--src/test/ui/macros/die-macro-expr.rs (renamed from src/test/run-fail/die-macro-expr.rs)1
-rw-r--r--src/test/ui/macros/die-macro-pure.rs (renamed from src/test/run-fail/die-macro-pure.rs)1
-rw-r--r--src/test/ui/macros/unimplemented-macro-panic.rs (renamed from src/test/run-fail/unimplemented-macro-panic.rs)2
-rw-r--r--src/test/ui/macros/unreachable-fmt-msg.rs (renamed from src/test/run-fail/unreachable-fmt-msg.rs)2
-rw-r--r--src/test/ui/macros/unreachable-macro-panic.rs (renamed from src/test/run-fail/unreachable-macro-panic.rs)2
-rw-r--r--src/test/ui/macros/unreachable-static-msg.rs (renamed from src/test/run-fail/unreachable-static-msg.rs)2
-rw-r--r--src/test/ui/macros/unreachable.rs (renamed from src/test/run-fail/unreachable.rs)2
-rw-r--r--src/test/ui/match/expr-match-panic-fn.rs (renamed from src/test/run-fail/expr-match-panic-fn.rs)1
-rw-r--r--src/test/ui/match/expr-match-panic.rs (renamed from src/test/run-fail/expr-match-panic.rs)1
-rw-r--r--src/test/ui/match/match-bot-panic.rs (renamed from src/test/run-fail/match-bot-panic.rs)1
-rw-r--r--src/test/ui/match/match-disc-bot.rs (renamed from src/test/run-fail/match-disc-bot.rs)2
-rw-r--r--src/test/ui/match/match-wildcards.rs (renamed from src/test/run-fail/match-wildcards.rs)2
-rw-r--r--src/test/ui/meta-revision-bad.rs (renamed from src/test/run-fail/meta-revision-bad.rs)1
-rw-r--r--src/test/ui/meta-revision-ok.rs (renamed from src/test/run-fail/meta-revision-ok.rs)1
-rw-r--r--src/test/ui/mir/mir_codegen_calls_converging_drops.rs (renamed from src/test/run-fail/mir_codegen_calls_converging_drops.rs)1
-rw-r--r--src/test/ui/mir/mir_codegen_calls_converging_drops_2.rs (renamed from src/test/run-fail/mir_codegen_calls_converging_drops_2.rs)1
-rw-r--r--src/test/ui/mir/mir_codegen_calls_diverging.rs (renamed from src/test/run-fail/mir_codegen_calls_diverging.rs)1
-rw-r--r--src/test/ui/mir/mir_codegen_calls_diverging_drops.rs (renamed from src/test/run-fail/mir_codegen_calls_diverging_drops.rs)1
-rw-r--r--src/test/ui/mir/mir_drop_panics.rs (renamed from src/test/run-fail/mir_drop_panics.rs)1
-rw-r--r--src/test/ui/mir/mir_dynamic_drops_1.rs (renamed from src/test/run-fail/mir_dynamic_drops_1.rs)1
-rw-r--r--src/test/ui/mir/mir_dynamic_drops_2.rs (renamed from src/test/run-fail/mir_dynamic_drops_2.rs)1
-rw-r--r--src/test/ui/mir/mir_dynamic_drops_3.rs (renamed from src/test/run-fail/mir_dynamic_drops_3.rs)1
-rw-r--r--src/test/ui/mir/mir_indexing_oob_1.rs (renamed from src/test/run-fail/mir_indexing_oob_1.rs)1
-rw-r--r--src/test/ui/mir/mir_indexing_oob_2.rs (renamed from src/test/run-fail/mir_indexing_oob_2.rs)1
-rw-r--r--src/test/ui/mir/mir_indexing_oob_3.rs (renamed from src/test/run-fail/mir_indexing_oob_3.rs)1
-rw-r--r--src/test/ui/never_type/return-never-coerce.rs (renamed from src/test/run-fail/return-never-coerce.rs)1
-rw-r--r--src/test/ui/numbers-arithmetic/divide-by-zero.rs (renamed from src/test/run-fail/divide-by-zero.rs)1
-rw-r--r--src/test/ui/numbers-arithmetic/mod-zero.rs (renamed from src/test/run-fail/mod-zero.rs)1
-rw-r--r--src/test/ui/numbers-arithmetic/overflowing-add.rs (renamed from src/test/run-fail/overflowing-add.rs)1
-rw-r--r--src/test/ui/numbers-arithmetic/overflowing-lsh-1.rs9
-rw-r--r--src/test/ui/numbers-arithmetic/overflowing-lsh-1.stderr14
-rw-r--r--src/test/ui/numbers-arithmetic/overflowing-lsh-2.rs9
-rw-r--r--src/test/ui/numbers-arithmetic/overflowing-lsh-2.stderr14
-rw-r--r--src/test/ui/numbers-arithmetic/overflowing-lsh-3.rs9
-rw-r--r--src/test/ui/numbers-arithmetic/overflowing-lsh-3.stderr14
-rw-r--r--src/test/ui/numbers-arithmetic/overflowing-lsh-4.rs (renamed from src/test/run-fail/overflowing-lsh-4.rs)6
-rw-r--r--src/test/ui/numbers-arithmetic/overflowing-lsh-4.stderr14
-rw-r--r--src/test/ui/numbers-arithmetic/overflowing-mul.rs (renamed from src/test/run-fail/overflowing-mul.rs)1
-rw-r--r--src/test/ui/numbers-arithmetic/overflowing-neg.rs (renamed from src/test/run-fail/overflowing-neg.rs)1
-rw-r--r--src/test/ui/numbers-arithmetic/overflowing-pow-signed.rs (renamed from src/test/run-fail/overflowing-pow-signed.rs)1
-rw-r--r--src/test/ui/numbers-arithmetic/overflowing-pow-unsigned.rs (renamed from src/test/run-fail/overflowing-pow-unsigned.rs)1
-rw-r--r--src/test/ui/numbers-arithmetic/overflowing-rsh-1.rs9
-rw-r--r--src/test/ui/numbers-arithmetic/overflowing-rsh-1.stderr14
-rw-r--r--src/test/ui/numbers-arithmetic/overflowing-rsh-2.rs9
-rw-r--r--src/test/ui/numbers-arithmetic/overflowing-rsh-2.stderr14
-rw-r--r--src/test/ui/numbers-arithmetic/overflowing-rsh-3.rs9
-rw-r--r--src/test/ui/numbers-arithmetic/overflowing-rsh-3.stderr14
-rw-r--r--src/test/ui/numbers-arithmetic/overflowing-rsh-4.rs (renamed from src/test/run-fail/overflowing-rsh-4.rs)6
-rw-r--r--src/test/ui/numbers-arithmetic/overflowing-rsh-4.stderr14
-rw-r--r--src/test/ui/numbers-arithmetic/overflowing-rsh-5.rs9
-rw-r--r--src/test/ui/numbers-arithmetic/overflowing-rsh-5.stderr14
-rw-r--r--src/test/ui/numbers-arithmetic/overflowing-rsh-6.rs9
-rw-r--r--src/test/ui/numbers-arithmetic/overflowing-rsh-6.stderr14
-rw-r--r--src/test/ui/numbers-arithmetic/overflowing-sub.rs (renamed from src/test/run-fail/overflowing-sub.rs)1
-rw-r--r--src/test/ui/numbers-arithmetic/promoted_overflow.rs (renamed from src/test/run-fail/promoted_overflow.rs)1
-rw-r--r--src/test/ui/panic-runtime/unwind-interleaved.rs (renamed from src/test/run-fail/unwind-interleaved.rs)3
-rw-r--r--src/test/ui/panic-runtime/unwind-rec.rs (renamed from src/test/run-fail/unwind-rec.rs)4
-rw-r--r--src/test/ui/panic-runtime/unwind-rec2.rs (renamed from src/test/run-fail/unwind-rec2.rs)4
-rw-r--r--src/test/ui/panic-runtime/unwind-unique.rs (renamed from src/test/run-fail/unwind-unique.rs)3
-rw-r--r--src/test/ui/panics/args-panic.rs (renamed from src/test/run-fail/args-panic.rs)1
-rw-r--r--src/test/ui/panics/doublepanic.rs (renamed from src/test/run-fail/doublepanic.rs)2
-rw-r--r--src/test/ui/panics/explicit-panic-msg.rs (renamed from src/test/run-fail/explicit-panic-msg.rs)2
-rw-r--r--src/test/ui/panics/explicit-panic.rs (renamed from src/test/run-fail/explicit-panic.rs)2
-rw-r--r--src/test/ui/panics/fmt-panic.rs (renamed from src/test/run-fail/fmt-panic.rs)1
-rw-r--r--src/test/ui/panics/main-panic.rs (renamed from src/test/run-fail/main-panic.rs)1
-rw-r--r--src/test/ui/panics/panic-arg.rs (renamed from src/test/run-fail/panic-arg.rs)2
-rw-r--r--src/test/ui/panics/panic-macro-any-wrapped.rs (renamed from src/test/run-fail/panic-macro-any-wrapped.rs)1
-rw-r--r--src/test/ui/panics/panic-macro-any.rs (renamed from src/test/run-fail/panic-macro-any.rs)3
-rw-r--r--src/test/ui/panics/panic-macro-explicit.rs (renamed from src/test/run-fail/panic-macro-explicit.rs)1
-rw-r--r--src/test/ui/panics/panic-macro-fmt.rs (renamed from src/test/run-fail/panic-macro-fmt.rs)1
-rw-r--r--src/test/ui/panics/panic-macro-owned.rs (renamed from src/test/run-fail/panic-macro-owned.rs)1
-rw-r--r--src/test/ui/panics/panic-macro-static.rs (renamed from src/test/run-fail/panic-macro-static.rs)1
-rw-r--r--src/test/ui/panics/panic-main.rs (renamed from src/test/run-fail/panic-main.rs)2
-rw-r--r--src/test/ui/panics/panic-parens.rs (renamed from src/test/run-fail/panic-parens.rs)1
-rw-r--r--src/test/ui/panics/panic-set-handler.rs (renamed from src/test/run-fail/panic-set-handler.rs)1
-rw-r--r--src/test/ui/panics/panic-set-unset-handler.rs (renamed from src/test/run-fail/panic-set-unset-handler.rs)1
-rw-r--r--src/test/ui/panics/panic-take-handler-nop.rs (renamed from src/test/run-fail/panic-take-handler-nop.rs)1
-rw-r--r--src/test/ui/panics/panic-task-name-none.rs (renamed from src/test/run-fail/panic-task-name-none.rs)1
-rw-r--r--src/test/ui/panics/panic-task-name-owned.rs (renamed from src/test/run-fail/panic-task-name-owned.rs)1
-rw-r--r--src/test/ui/panics/panic.rs (renamed from src/test/run-fail/panic.rs)2
-rw-r--r--src/test/ui/panics/result-get-panic.rs (renamed from src/test/run-fail/result-get-panic.rs)1
-rw-r--r--src/test/ui/panics/test-panic.rs (renamed from src/test/run-fail/test-panic.rs)2
-rw-r--r--src/test/ui/panics/test-should-fail-bad-message.rs (renamed from src/test/run-fail/test-should-fail-bad-message.rs)2
-rw-r--r--src/test/ui/panics/test-should-panic-bad-message.rs (renamed from src/test/run-fail/test-should-panic-bad-message.rs)4
-rw-r--r--src/test/ui/panics/test-should-panic-no-message.rs (renamed from src/test/run-fail/test-should-panic-no-message.rs)4
-rw-r--r--src/test/ui/panics/unique-panic.rs (renamed from src/test/run-fail/unique-panic.rs)1
-rw-r--r--src/test/ui/panics/while-body-panics.rs (renamed from src/test/run-fail/while-body-panics.rs)2
-rw-r--r--src/test/ui/panics/while-panic.rs (renamed from src/test/run-fail/while-panic.rs)2
-rw-r--r--src/test/ui/process/tls-exit-status.rs (renamed from src/test/run-fail/tls-exit-status.rs)1
-rw-r--r--src/test/ui/rfc-1937-termination-trait/termination-trait-for-box-dyn-error.rs (renamed from src/test/run-fail/rfc-1937-termination-trait/termination-trait-for-box-dyn-error.rs)1
-rw-r--r--src/test/ui/rfc-1937-termination-trait/termination-trait-for-never.rs (renamed from src/test/run-fail/rfc-1937-termination-trait/termination-trait-for-never.rs)1
-rw-r--r--src/test/ui/rfc-1937-termination-trait/termination-trait-for-result-box-error_err.rs (renamed from src/test/run-fail/rfc-1937-termination-trait/termination-trait-for-result-box-error_err.rs)1
-rw-r--r--src/test/ui/rfc-1937-termination-trait/termination-trait-for-str.rs (renamed from src/test/run-fail/rfc-1937-termination-trait/termination-trait-for-str.rs)1
-rw-r--r--src/test/ui/str/str-overrun.rs (renamed from src/test/run-fail/str-overrun.rs)2
-rw-r--r--src/test/ui/structs/rhs-type.rs (renamed from src/test/run-fail/rhs-type.rs)2
-rw-r--r--src/test/ui/test-attrs/run-unexported-tests.rs (renamed from src/test/run-fail/run-unexported-tests.rs)2
-rw-r--r--src/test/ui/threads-sendsync/task-spawn-barefn.rs (renamed from src/test/run-fail/task-spawn-barefn.rs)1
-rw-r--r--src/test/ui/threads-sendsync/test-tasks-invalid-value.rs (renamed from src/test/run-fail/test-tasks-invalid-value.rs)1
-rw-r--r--src/test/ui/vec/vec-overrun.rs (renamed from src/test/run-fail/vec-overrun.rs)2
160 files changed, 404 insertions, 125 deletions
diff --git a/src/test/run-fail/bug-811.rs b/src/test/run-fail/bug-811.rs
deleted file mode 100644
index e36ec0f5901..00000000000
--- a/src/test/run-fail/bug-811.rs
+++ /dev/null
@@ -1,24 +0,0 @@
-// error-pattern:quux
-
-use std::marker::PhantomData;
-
-fn test00_start(ch: chan_t<isize>, message: isize) {
-    send(ch, message);
-}
-
-type task_id = isize;
-type port_id = isize;
-
-struct chan_t<T> {
-    task: task_id,
-    port: port_id,
-    marker: PhantomData<*mut T>,
-}
-
-fn send<T: Send>(_ch: chan_t<T>, _data: T) {
-    panic!();
-}
-
-fn main() {
-    panic!("quux");
-}
diff --git a/src/test/run-fail/overflowing-lsh-1.rs b/src/test/run-fail/overflowing-lsh-1.rs
deleted file mode 100644
index 977cfea0fe0..00000000000
--- a/src/test/run-fail/overflowing-lsh-1.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// error-pattern:thread 'main' panicked at 'attempt to shift left with overflow'
-// compile-flags: -C debug-assertions
-
-#![warn(arithmetic_overflow)]
-#![warn(const_err)]
-
-fn main() {
-    let _x = 1_i32 << 32;
-}
diff --git a/src/test/run-fail/overflowing-lsh-2.rs b/src/test/run-fail/overflowing-lsh-2.rs
deleted file mode 100644
index 3517dacde3a..00000000000
--- a/src/test/run-fail/overflowing-lsh-2.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// error-pattern:thread 'main' panicked at 'attempt to shift left with overflow'
-// compile-flags: -C debug-assertions
-
-#![warn(arithmetic_overflow)]
-#![warn(const_err)]
-
-fn main() {
-    let _x = 1 << -1;
-}
diff --git a/src/test/run-fail/overflowing-lsh-3.rs b/src/test/run-fail/overflowing-lsh-3.rs
deleted file mode 100644
index 4a575c3fa7f..00000000000
--- a/src/test/run-fail/overflowing-lsh-3.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// error-pattern:thread 'main' panicked at 'attempt to shift left with overflow'
-// compile-flags: -C debug-assertions
-
-#![warn(arithmetic_overflow)]
-#![warn(const_err)]
-
-fn main() {
-    let _x = 1_u64 << 64;
-}
diff --git a/src/test/run-fail/overflowing-rsh-1.rs b/src/test/run-fail/overflowing-rsh-1.rs
deleted file mode 100644
index 4592b2b6260..00000000000
--- a/src/test/run-fail/overflowing-rsh-1.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// error-pattern:thread 'main' panicked at 'attempt to shift right with overflow'
-// compile-flags: -C debug-assertions
-
-#![warn(arithmetic_overflow)]
-#![warn(const_err)]
-
-fn main() {
-    let _x = -1_i32 >> 32;
-}
diff --git a/src/test/run-fail/overflowing-rsh-2.rs b/src/test/run-fail/overflowing-rsh-2.rs
deleted file mode 100644
index 066267b770d..00000000000
--- a/src/test/run-fail/overflowing-rsh-2.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// error-pattern:thread 'main' panicked at 'attempt to shift right with overflow'
-// compile-flags: -C debug-assertions
-
-#![warn(arithmetic_overflow)]
-#![warn(const_err)]
-
-fn main() {
-    let _x = -1_i32 >> -1;
-}
diff --git a/src/test/run-fail/overflowing-rsh-3.rs b/src/test/run-fail/overflowing-rsh-3.rs
deleted file mode 100644
index 67e78482866..00000000000
--- a/src/test/run-fail/overflowing-rsh-3.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// error-pattern:thread 'main' panicked at 'attempt to shift right with overflow'
-// compile-flags: -C debug-assertions
-
-#![warn(arithmetic_overflow)]
-#![warn(const_err)]
-
-fn main() {
-    let _x = -1_i64 >> 64;
-}
diff --git a/src/test/run-fail/overflowing-rsh-5.rs b/src/test/run-fail/overflowing-rsh-5.rs
deleted file mode 100644
index 20ef324a82a..00000000000
--- a/src/test/run-fail/overflowing-rsh-5.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// error-pattern:thread 'main' panicked at 'attempt to shift right with overflow'
-// compile-flags: -C debug-assertions
-
-#![warn(arithmetic_overflow)]
-#![warn(const_err)]
-
-fn main() {
-    let _n = 1i64 >> [64][0];
-}
diff --git a/src/test/run-fail/overflowing-rsh-6.rs b/src/test/run-fail/overflowing-rsh-6.rs
deleted file mode 100644
index 589a98bab04..00000000000
--- a/src/test/run-fail/overflowing-rsh-6.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-// error-pattern:thread 'main' panicked at 'attempt to shift right with overflow'
-// compile-flags: -C debug-assertions
-
-#![warn(arithmetic_overflow)]
-#![warn(const_err)]
-#![feature(const_indexing)]
-
-fn main() {
-    let _n = 1i64 >> [64][0];
-}
diff --git a/src/test/run-fail/bounds-check-no-overflow.rs b/src/test/ui/array-slice-vec/bounds-check-no-overflow.rs
index 3943f87f7fe..70cbb067254 100644
--- a/src/test/run-fail/bounds-check-no-overflow.rs
+++ b/src/test/ui/array-slice-vec/bounds-check-no-overflow.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:index out of bounds
 
 use std::usize;
diff --git a/src/test/run-fail/dst-raw-slice.rs b/src/test/ui/array-slice-vec/dst-raw-slice.rs
index 2575de7cc58..33db126944d 100644
--- a/src/test/run-fail/dst-raw-slice.rs
+++ b/src/test/ui/array-slice-vec/dst-raw-slice.rs
@@ -1,4 +1,6 @@
 // Test bounds checking for DST raw slices
+
+// run-fail
 // error-pattern:index out of bounds
 #[allow(unconditional_panic)]
 fn main() {
diff --git a/src/test/run-fail/binop-fail-3.rs b/src/test/ui/binop/binop-fail-3.rs
index a7696fffda0..7120a5c1f19 100644
--- a/src/test/run-fail/binop-fail-3.rs
+++ b/src/test/ui/binop/binop-fail-3.rs
@@ -1,9 +1,10 @@
+// run-fail
 // error-pattern:quux
+
 fn foo() -> ! {
     panic!("quux");
 }
 
-#[allow(resolve_trait_on_defaulted_unit)]
 fn main() {
     foo() == foo(); // these types wind up being defaulted to ()
 }
diff --git a/src/test/run-fail/binop-panic.rs b/src/test/ui/binop/binop-panic.rs
index dba5cecc67e..6927b96c1b3 100644
--- a/src/test/run-fail/binop-panic.rs
+++ b/src/test/ui/binop/binop-panic.rs
@@ -1,8 +1,11 @@
+// run-fail
 // error-pattern:quux
+
 fn my_err(s: String) -> ! {
     println!("{}", s);
     panic!("quux");
 }
+
 fn main() {
     3_usize == my_err("bye".to_string());
 }
diff --git a/src/test/run-fail/borrowck-local-borrow.rs b/src/test/ui/borrowck/borrowck-local-borrow.rs
index d07f76b6252..c2b59ecce86 100644
--- a/src/test/run-fail/borrowck-local-borrow.rs
+++ b/src/test/ui/borrowck/borrowck-local-borrow.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:panic 1
 
 // revisions: migrate mir
diff --git a/src/test/run-fail/diverging-closure.rs b/src/test/ui/closures/diverging-closure.rs
index a92e07a21fe..de7b68ef684 100644
--- a/src/test/run-fail/diverging-closure.rs
+++ b/src/test/ui/closures/diverging-closure.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:oops
 
 fn main() {
diff --git a/src/test/run-fail/promoted_div_by_zero.rs b/src/test/ui/consts/promoted_div_by_zero.rs
index dc6719ce025..582c186b4e4 100644
--- a/src/test/run-fail/promoted_div_by_zero.rs
+++ b/src/test/ui/consts/promoted_div_by_zero.rs
@@ -1,5 +1,6 @@
 #![allow(unconditional_panic, const_err)]
 
+// run-fail
 // error-pattern: attempt to divide by zero
 
 fn main() {
diff --git a/src/test/run-fail/expr-fn-panic.rs b/src/test/ui/fn/expr-fn-panic.rs
index 0532c32ec70..e93439a1d17 100644
--- a/src/test/run-fail/expr-fn-panic.rs
+++ b/src/test/ui/fn/expr-fn-panic.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:explicit panic
 
 fn f() -> ! {
diff --git a/src/test/run-fail/generator-resume-after-panic.rs b/src/test/ui/generator/generator-resume-after-panic.rs
index 1a7c2e80629..1e9a7ed1e94 100644
--- a/src/test/run-fail/generator-resume-after-panic.rs
+++ b/src/test/ui/generator/generator-resume-after-panic.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:generator resumed after panicking
 
 // Test that we get the correct message for resuming a panicked generator.
diff --git a/src/test/run-fail/hashmap-capacity-overflow.rs b/src/test/ui/hashmap/hashmap-capacity-overflow.rs
index 038f2756ff3..0e904b7b6a4 100644
--- a/src/test/run-fail/hashmap-capacity-overflow.rs
+++ b/src/test/ui/hashmap/hashmap-capacity-overflow.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:capacity overflow
 
 use std::collections::hash_map::HashMap;
diff --git a/src/test/ui/hashmap-iter-value-lifetime.nll.stderr b/src/test/ui/hashmap/hashmap-iter-value-lifetime.nll.stderr
index 312a91adca6..312a91adca6 100644
--- a/src/test/ui/hashmap-iter-value-lifetime.nll.stderr
+++ b/src/test/ui/hashmap/hashmap-iter-value-lifetime.nll.stderr
diff --git a/src/test/ui/hashmap-iter-value-lifetime.rs b/src/test/ui/hashmap/hashmap-iter-value-lifetime.rs
index 260ea8c7ae1..260ea8c7ae1 100644
--- a/src/test/ui/hashmap-iter-value-lifetime.rs
+++ b/src/test/ui/hashmap/hashmap-iter-value-lifetime.rs
diff --git a/src/test/ui/hashmap-iter-value-lifetime.stderr b/src/test/ui/hashmap/hashmap-iter-value-lifetime.stderr
index f7626b13bad..f7626b13bad 100644
--- a/src/test/ui/hashmap-iter-value-lifetime.stderr
+++ b/src/test/ui/hashmap/hashmap-iter-value-lifetime.stderr
diff --git a/src/test/ui/hashmap-lifetimes.nll.stderr b/src/test/ui/hashmap/hashmap-lifetimes.nll.stderr
index aa8e890c168..aa8e890c168 100644
--- a/src/test/ui/hashmap-lifetimes.nll.stderr
+++ b/src/test/ui/hashmap/hashmap-lifetimes.nll.stderr
diff --git a/src/test/ui/hashmap-lifetimes.rs b/src/test/ui/hashmap/hashmap-lifetimes.rs
index 295bf3b0e66..295bf3b0e66 100644
--- a/src/test/ui/hashmap-lifetimes.rs
+++ b/src/test/ui/hashmap/hashmap-lifetimes.rs
diff --git a/src/test/ui/hashmap-lifetimes.stderr b/src/test/ui/hashmap/hashmap-lifetimes.stderr
index 497c7d1216c..497c7d1216c 100644
--- a/src/test/ui/hashmap-lifetimes.stderr
+++ b/src/test/ui/hashmap/hashmap-lifetimes.stderr
diff --git a/src/test/ui/hashmap-memory.rs b/src/test/ui/hashmap/hashmap-memory.rs
index 3129eb0da82..3129eb0da82 100644
--- a/src/test/ui/hashmap-memory.rs
+++ b/src/test/ui/hashmap/hashmap-memory.rs
diff --git a/src/test/run-fail/expr-if-panic-fn.rs b/src/test/ui/if/expr-if-panic-fn.rs
index 660b1396e38..7ddd4bc5e0f 100644
--- a/src/test/run-fail/expr-if-panic-fn.rs
+++ b/src/test/ui/if/expr-if-panic-fn.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:explicit panic
 
 fn f() -> ! {
diff --git a/src/test/run-fail/expr-if-panic.rs b/src/test/ui/if/expr-if-panic.rs
index 36aaf459a56..4ab73dc736a 100644
--- a/src/test/run-fail/expr-if-panic.rs
+++ b/src/test/ui/if/expr-if-panic.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:explicit panic
 
 fn main() {
diff --git a/src/test/run-fail/if-check-panic.rs b/src/test/ui/if/if-check-panic.rs
index f9a4b8fcb38..d768cf10c8b 100644
--- a/src/test/run-fail/if-check-panic.rs
+++ b/src/test/ui/if/if-check-panic.rs
@@ -1,4 +1,6 @@
+// run-fail
 // error-pattern:Number is odd
+
 fn even(x: usize) -> bool {
     if x < 2 {
         return false;
diff --git a/src/test/run-fail/if-cond-bot.rs b/src/test/ui/if/if-cond-bot.rs
index c680cad258f..3bbea458446 100644
--- a/src/test/run-fail/if-cond-bot.rs
+++ b/src/test/ui/if/if-cond-bot.rs
@@ -1,8 +1,11 @@
+// run-fail
 // error-pattern:quux
+
 fn my_err(s: String) -> ! {
     println!("{}", s);
     panic!("quux");
 }
+
 fn main() {
     if my_err("bye".to_string()) {
     }
diff --git a/src/test/run-fail/glob-use-std.rs b/src/test/ui/imports/glob-use-std.rs
index d19a782986b..3cd6a380ed2 100644
--- a/src/test/run-fail/glob-use-std.rs
+++ b/src/test/ui/imports/glob-use-std.rs
@@ -1,5 +1,6 @@
 // Issue #7580
 
+// run-fail
 // error-pattern:panic works
 
 use std::*;
diff --git a/src/test/run-fail/issue-12920.rs b/src/test/ui/issues/issue-12920.rs
index 0819e992d13..85d199f6d82 100644
--- a/src/test/run-fail/issue-12920.rs
+++ b/src/test/ui/issues/issue-12920.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:explicit panic
 
 pub fn main() {
diff --git a/src/test/run-fail/issue-13202.rs b/src/test/ui/issues/issue-13202.rs
index cf3a6b3d986..511273bae9d 100644
--- a/src/test/run-fail/issue-13202.rs
+++ b/src/test/ui/issues/issue-13202.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:bad input
 
 fn main() {
diff --git a/src/test/run-fail/issue-18576.rs b/src/test/ui/issues/issue-18576.rs
index ca9d1e5f5e7..946d2d47369 100644
--- a/src/test/run-fail/issue-18576.rs
+++ b/src/test/ui/issues/issue-18576.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:stop
 
 // #18576
@@ -10,4 +11,5 @@ fn main() {
     let pointer = other;
     pointer();
 }
+
 extern "C" fn other() {}
diff --git a/src/test/run-fail/issue-20971.rs b/src/test/ui/issues/issue-20971.rs
index 6c2de783c01..4fb901e2272 100644
--- a/src/test/run-fail/issue-20971.rs
+++ b/src/test/ui/issues/issue-20971.rs
@@ -1,5 +1,6 @@
 // Regression test for Issue #20971.
 
+// run-fail
 // error-pattern:Hello, world!
 
 pub trait Parser {
@@ -12,7 +13,7 @@ impl Parser for () {
     fn parse(&mut self, input: ()) {}
 }
 
-pub fn many() -> Box<Parser<Input = <() as Parser>::Input> + 'static> {
+pub fn many() -> Box<dyn Parser<Input = <() as Parser>::Input> + 'static> {
     panic!("Hello, world!")
 }
 
diff --git a/src/test/run-fail/issue-23354-2.rs b/src/test/ui/issues/issue-23354-2.rs
index 8f7baff56dc..1a3ed103060 100644
--- a/src/test/run-fail/issue-23354-2.rs
+++ b/src/test/ui/issues/issue-23354-2.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:panic evaluated
 
 #[allow(unused_variables)]
diff --git a/src/test/run-fail/issue-23354.rs b/src/test/ui/issues/issue-23354.rs
index 4c2fb022a6b..77b7dbf99da 100644
--- a/src/test/run-fail/issue-23354.rs
+++ b/src/test/ui/issues/issue-23354.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:panic evaluated
 
 #[allow(unused_variables)]
diff --git a/src/test/run-fail/issue-2444.rs b/src/test/ui/issues/issue-2444.rs
index 17f89e4d20d..35d8eabcd60 100644
--- a/src/test/run-fail/issue-2444.rs
+++ b/src/test/ui/issues/issue-2444.rs
@@ -1,12 +1,13 @@
+// run-fail
 // error-pattern:explicit panic
 
 use std::sync::Arc;
 
-enum e<T> {
-    ee(Arc<T>),
+enum Err<T> {
+    Errr(Arc<T>),
 }
 
-fn foo() -> e<isize> {
+fn foo() -> Err<isize> {
     panic!();
 }
 
diff --git a/src/test/run-fail/bug-2470-bounds-check-overflow.rs b/src/test/ui/issues/issue-2470-bounds-check-overflow.rs
index b4e3f246991..86558c228c5 100644
--- a/src/test/run-fail/bug-2470-bounds-check-overflow.rs
+++ b/src/test/ui/issues/issue-2470-bounds-check-overflow.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:index out of bounds
 
 use std::mem;
diff --git a/src/test/run-fail/issue-2761.rs b/src/test/ui/issues/issue-2761.rs
index 84d90930d2d..43756645925 100644
--- a/src/test/run-fail/issue-2761.rs
+++ b/src/test/ui/issues/issue-2761.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:custom message
 
 fn main() {
diff --git a/src/test/run-fail/issue-28934.rs b/src/test/ui/issues/issue-28934.rs
index 5915372b692..fcf91d74fbe 100644
--- a/src/test/run-fail/issue-28934.rs
+++ b/src/test/ui/issues/issue-28934.rs
@@ -1,6 +1,7 @@
 // Regression test: issue had to do with "givens" in region inference,
 // which were not being considered during the contraction phase.
 
+// run-fail
 // error-pattern:explicit panic
 
 struct Parser<'i: 't, 't>(&'i u8, &'t u8);
diff --git a/src/test/run-fail/issue-29798.rs b/src/test/ui/issues/issue-29798.rs
index b06aa5fc728..31b08f2164a 100644
--- a/src/test/run-fail/issue-29798.rs
+++ b/src/test/ui/issues/issue-29798.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:index out of bounds: the len is 5 but the index is 5
 
 const fn test(x: usize) -> i32 {
diff --git a/src/test/run-fail/issue-3029.rs b/src/test/ui/issues/issue-3029.rs
index face808b68f..aea2368a211 100644
--- a/src/test/run-fail/issue-3029.rs
+++ b/src/test/ui/issues/issue-3029.rs
@@ -1,9 +1,10 @@
+// run-fail
+// error-pattern:so long
+
 #![allow(unused_allocation)]
 #![allow(unreachable_code)]
 #![allow(unused_variables)]
 
-
-// error-pattern:so long
 fn main() {
     let mut x = Vec::new();
     let y = vec![3];
diff --git a/src/test/run-fail/issue-30380.rs b/src/test/ui/issues/issue-30380.rs
index 036071a89c7..34bd6c1b0e5 100644
--- a/src/test/run-fail/issue-30380.rs
+++ b/src/test/ui/issues/issue-30380.rs
@@ -1,6 +1,7 @@
 // check that panics in destructors during assignment do not leave
 // destroyed values lying around for other destructors to observe.
 
+// run-fail
 // error-pattern:panicking destructors ftw!
 
 struct Observer<'a>(&'a mut FilledOnDrop);
diff --git a/src/test/run-fail/issue-44216-add-instant.rs b/src/test/ui/issues/issue-44216-add-instant.rs
index 76ad0a3d41b..b5f48e8cedc 100644
--- a/src/test/run-fail/issue-44216-add-instant.rs
+++ b/src/test/ui/issues/issue-44216-add-instant.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:overflow
 
 use std::time::{Instant, Duration};
diff --git a/src/test/run-fail/issue-44216-add-system-time.rs b/src/test/ui/issues/issue-44216-add-system-time.rs
index aa861f7d599..da28433dde9 100644
--- a/src/test/run-fail/issue-44216-add-system-time.rs
+++ b/src/test/ui/issues/issue-44216-add-system-time.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:overflow
 
 use std::time::{Duration, SystemTime};
diff --git a/src/test/run-fail/issue-44216-sub-instant.rs b/src/test/ui/issues/issue-44216-sub-instant.rs
index 8bc1f47ae2d..954cf45591f 100644
--- a/src/test/run-fail/issue-44216-sub-instant.rs
+++ b/src/test/ui/issues/issue-44216-sub-instant.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:overflow
 
 use std::time::{Instant, Duration};
diff --git a/src/test/run-fail/issue-44216-sub-system-time.rs b/src/test/ui/issues/issue-44216-sub-system-time.rs
index 37ab0e7c3f9..e024e231565 100644
--- a/src/test/run-fail/issue-44216-sub-system-time.rs
+++ b/src/test/ui/issues/issue-44216-sub-system-time.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:overflow
 
 use std::time::{Duration, SystemTime};
diff --git a/src/test/run-fail/issue-51345.rs b/src/test/ui/issues/issue-51345-2.rs
index c62f98ea78d..4abdba6176a 100644
--- a/src/test/run-fail/issue-51345.rs
+++ b/src/test/ui/issues/issue-51345-2.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern: thread 'main' panicked at 'explicit panic'
 
 fn main() {
diff --git a/src/test/run-fail/issue-6458-1.rs b/src/test/ui/issues/issue-6458-1.rs
index 550bb2b832f..16c479a6a5c 100644
--- a/src/test/run-fail/issue-6458-1.rs
+++ b/src/test/ui/issues/issue-6458-1.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:explicit panic
 
 fn foo<T>(t: T) {}
diff --git a/src/test/ui/issues/issue-811.rs b/src/test/ui/issues/issue-811.rs
new file mode 100644
index 00000000000..d16467e4b51
--- /dev/null
+++ b/src/test/ui/issues/issue-811.rs
@@ -0,0 +1,25 @@
+// run-fail
+// error-pattern:quux
+
+use std::marker::PhantomData;
+
+fn test00_start(ch: Chan<isize>, message: isize) {
+    send(ch, message);
+}
+
+type TaskId = isize;
+type PortId = isize;
+
+struct Chan<T> {
+    task: TaskId,
+    port: PortId,
+    marker: PhantomData<*mut T>,
+}
+
+fn send<T: Send>(_ch: Chan<T>, _data: T) {
+    panic!();
+}
+
+fn main() {
+    panic!("quux");
+}
diff --git a/src/test/run-fail/issue-948.rs b/src/test/ui/issues/issue-948.rs
index 8f1c6587f03..ab0cee71929 100644
--- a/src/test/run-fail/issue-948.rs
+++ b/src/test/ui/issues/issue-948.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:beep boop
 
 #![allow(unused_variables)]
diff --git a/src/test/run-fail/for-each-loop-panic.rs b/src/test/ui/loops/for-each-loop-panic.rs
index d24e81e152c..1d0dbe176ae 100644
--- a/src/test/run-fail/for-each-loop-panic.rs
+++ b/src/test/ui/loops/for-each-loop-panic.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:moop
 
 fn main() {
diff --git a/src/test/run-fail/assert-as-macro.rs b/src/test/ui/macros/assert-as-macro.rs
index f715e21f781..bc51b673606 100644
--- a/src/test/run-fail/assert-as-macro.rs
+++ b/src/test/ui/macros/assert-as-macro.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:assertion failed: 1 == 2
 
 fn main() {
diff --git a/src/test/run-fail/assert-eq-macro-panic.rs b/src/test/ui/macros/assert-eq-macro-panic.rs
index 863fec12d74..bd4eb78de9f 100644
--- a/src/test/run-fail/assert-eq-macro-panic.rs
+++ b/src/test/ui/macros/assert-eq-macro-panic.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:assertion failed: `(left == right)`
 // error-pattern: left: `14`
 // error-pattern:right: `15`
diff --git a/src/test/run-fail/assert-macro-explicit.rs b/src/test/ui/macros/assert-macro-explicit.rs
index 3689323c999..da13c06d575 100644
--- a/src/test/run-fail/assert-macro-explicit.rs
+++ b/src/test/ui/macros/assert-macro-explicit.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:panicked at 'assertion failed: false'
 
 fn main() {
diff --git a/src/test/run-fail/assert-macro-fmt.rs b/src/test/ui/macros/assert-macro-fmt.rs
index 9fbfb085c2f..3b173156d7a 100644
--- a/src/test/run-fail/assert-macro-fmt.rs
+++ b/src/test/ui/macros/assert-macro-fmt.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:panicked at 'test-assert-fmt 42 rust'
 
 fn main() {
diff --git a/src/test/run-fail/assert-macro-owned.rs b/src/test/ui/macros/assert-macro-owned.rs
index bd58d35eb71..c231ceb46e9 100644
--- a/src/test/run-fail/assert-macro-owned.rs
+++ b/src/test/ui/macros/assert-macro-owned.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:panicked at 'test-assert-owned'
 
 fn main() {
diff --git a/src/test/run-fail/assert-macro-static.rs b/src/test/ui/macros/assert-macro-static.rs
index 650aaeab4f6..3c988ba4469 100644
--- a/src/test/run-fail/assert-macro-static.rs
+++ b/src/test/ui/macros/assert-macro-static.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:panicked at 'test-assert-static'
 
 fn main() {
diff --git a/src/test/run-fail/assert-ne-macro-panic.rs b/src/test/ui/macros/assert-ne-macro-panic.rs
index f55ef2b3ff5..0e505e58e2b 100644
--- a/src/test/run-fail/assert-ne-macro-panic.rs
+++ b/src/test/ui/macros/assert-ne-macro-panic.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:assertion failed: `(left != right)`
 // error-pattern: left: `14`
 // error-pattern:right: `14`
diff --git a/src/test/run-fail/die-macro.rs b/src/test/ui/macros/die-macro-2.rs
index 846b9ea24d3..11a3222440d 100644
--- a/src/test/run-fail/die-macro.rs
+++ b/src/test/ui/macros/die-macro-2.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:test
 
 fn main() {
diff --git a/src/test/run-fail/die-macro-expr.rs b/src/test/ui/macros/die-macro-expr.rs
index 70413f97896..05f821acdf5 100644
--- a/src/test/run-fail/die-macro-expr.rs
+++ b/src/test/ui/macros/die-macro-expr.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:test
 
 fn main() {
diff --git a/src/test/run-fail/die-macro-pure.rs b/src/test/ui/macros/die-macro-pure.rs
index cec0742d503..1a86a7c22cc 100644
--- a/src/test/run-fail/die-macro-pure.rs
+++ b/src/test/ui/macros/die-macro-pure.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:test
 
 fn f() {
diff --git a/src/test/run-fail/unimplemented-macro-panic.rs b/src/test/ui/macros/unimplemented-macro-panic.rs
index 4d9cb740fc6..37932ca7670 100644
--- a/src/test/run-fail/unimplemented-macro-panic.rs
+++ b/src/test/ui/macros/unimplemented-macro-panic.rs
@@ -1,4 +1,6 @@
+// run-fail
 // error-pattern:not implemented
+
 fn main() {
     unimplemented!()
 }
diff --git a/src/test/run-fail/unreachable-fmt-msg.rs b/src/test/ui/macros/unreachable-fmt-msg.rs
index ac2a52163b4..b2df8f82500 100644
--- a/src/test/run-fail/unreachable-fmt-msg.rs
+++ b/src/test/ui/macros/unreachable-fmt-msg.rs
@@ -1,4 +1,6 @@
+// run-fail
 // error-pattern:internal error: entered unreachable code: 6 is not prime
+
 fn main() {
     unreachable!("{} is not {}", 6u32, "prime");
 }
diff --git a/src/test/run-fail/unreachable-macro-panic.rs b/src/test/ui/macros/unreachable-macro-panic.rs
index 597a0144722..ad0d82feeaf 100644
--- a/src/test/run-fail/unreachable-macro-panic.rs
+++ b/src/test/ui/macros/unreachable-macro-panic.rs
@@ -1,4 +1,6 @@
+// run-fail
 // error-pattern:internal error: entered unreachable code
+
 fn main() {
     unreachable!()
 }
diff --git a/src/test/run-fail/unreachable-static-msg.rs b/src/test/ui/macros/unreachable-static-msg.rs
index 40a2881cc57..b59d1960511 100644
--- a/src/test/run-fail/unreachable-static-msg.rs
+++ b/src/test/ui/macros/unreachable-static-msg.rs
@@ -1,4 +1,6 @@
+// run-fail
 // error-pattern:internal error: entered unreachable code: uhoh
+
 fn main() {
     unreachable!("uhoh")
 }
diff --git a/src/test/run-fail/unreachable.rs b/src/test/ui/macros/unreachable.rs
index 597a0144722..ad0d82feeaf 100644
--- a/src/test/run-fail/unreachable.rs
+++ b/src/test/ui/macros/unreachable.rs
@@ -1,4 +1,6 @@
+// run-fail
 // error-pattern:internal error: entered unreachable code
+
 fn main() {
     unreachable!()
 }
diff --git a/src/test/run-fail/expr-match-panic-fn.rs b/src/test/ui/match/expr-match-panic-fn.rs
index 120df61b4bf..c5bd7382f9f 100644
--- a/src/test/run-fail/expr-match-panic-fn.rs
+++ b/src/test/ui/match/expr-match-panic-fn.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:explicit panic
 
 fn f() -> ! {
diff --git a/src/test/run-fail/expr-match-panic.rs b/src/test/ui/match/expr-match-panic.rs
index b2f0179a083..76144314fad 100644
--- a/src/test/run-fail/expr-match-panic.rs
+++ b/src/test/ui/match/expr-match-panic.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:explicit panic
 
 fn main() {
diff --git a/src/test/run-fail/match-bot-panic.rs b/src/test/ui/match/match-bot-panic.rs
index f4da8c4e43f..8b147cb5ab6 100644
--- a/src/test/run-fail/match-bot-panic.rs
+++ b/src/test/ui/match/match-bot-panic.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:explicit panic
 
 #![allow(unreachable_code)]
diff --git a/src/test/run-fail/match-disc-bot.rs b/src/test/ui/match/match-disc-bot.rs
index a9312fbb1fb..785237b34af 100644
--- a/src/test/run-fail/match-disc-bot.rs
+++ b/src/test/ui/match/match-disc-bot.rs
@@ -1,4 +1,6 @@
+// run-fail
 // error-pattern:quux
+
 fn f() -> ! {
     panic!("quux")
 }
diff --git a/src/test/run-fail/match-wildcards.rs b/src/test/ui/match/match-wildcards.rs
index 7a65ad52558..b79fd03c133 100644
--- a/src/test/run-fail/match-wildcards.rs
+++ b/src/test/ui/match/match-wildcards.rs
@@ -1,4 +1,6 @@
+// run-fail
 // error-pattern:squirrelcupcake
+
 fn cmp() -> isize {
     match (Some('a'), None::<char>) {
         (Some(_), _) => {
diff --git a/src/test/run-fail/meta-revision-bad.rs b/src/test/ui/meta-revision-bad.rs
index 17f6398b735..01f1518c1c6 100644
--- a/src/test/run-fail/meta-revision-bad.rs
+++ b/src/test/ui/meta-revision-bad.rs
@@ -1,6 +1,7 @@
 // Meta test for compiletest: check that when we give the wrong error
 // patterns, the test fails.
 
+// run-fail
 // revisions: foo bar
 // should-fail
 //[foo] error-pattern:bar
diff --git a/src/test/run-fail/meta-revision-ok.rs b/src/test/ui/meta-revision-ok.rs
index 8693ee5f4ef..c77ce084a5c 100644
--- a/src/test/run-fail/meta-revision-ok.rs
+++ b/src/test/ui/meta-revision-ok.rs
@@ -1,6 +1,7 @@
 // Meta test for compiletest: check that when we give the right error
 // patterns, the test passes. See all `meta-revision-bad.rs`.
 
+// run-fail
 // revisions: foo bar
 //[foo] error-pattern:foo
 //[bar] error-pattern:bar
diff --git a/src/test/run-fail/mir_codegen_calls_converging_drops.rs b/src/test/ui/mir/mir_codegen_calls_converging_drops.rs
index ee0dc98ce68..7b31c1aa12e 100644
--- a/src/test/run-fail/mir_codegen_calls_converging_drops.rs
+++ b/src/test/ui/mir/mir_codegen_calls_converging_drops.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:converging_fn called
 // error-pattern:0 dropped
 // error-pattern:exit
diff --git a/src/test/run-fail/mir_codegen_calls_converging_drops_2.rs b/src/test/ui/mir/mir_codegen_calls_converging_drops_2.rs
index ee2c25ce856..f8117887c90 100644
--- a/src/test/run-fail/mir_codegen_calls_converging_drops_2.rs
+++ b/src/test/ui/mir/mir_codegen_calls_converging_drops_2.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:complex called
 // error-pattern:dropped
 // error-pattern:exit
diff --git a/src/test/run-fail/mir_codegen_calls_diverging.rs b/src/test/ui/mir/mir_codegen_calls_diverging.rs
index dceae0a4e4a..96630da4d49 100644
--- a/src/test/run-fail/mir_codegen_calls_diverging.rs
+++ b/src/test/ui/mir/mir_codegen_calls_diverging.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:diverging_fn called
 
 fn diverging_fn() -> ! {
diff --git a/src/test/run-fail/mir_codegen_calls_diverging_drops.rs b/src/test/ui/mir/mir_codegen_calls_diverging_drops.rs
index 187e526f7c0..96a03a0d6a7 100644
--- a/src/test/run-fail/mir_codegen_calls_diverging_drops.rs
+++ b/src/test/ui/mir/mir_codegen_calls_diverging_drops.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:diverging_fn called
 // error-pattern:0 dropped
 
diff --git a/src/test/run-fail/mir_drop_panics.rs b/src/test/ui/mir/mir_drop_panics.rs
index bda555b9262..da6d0b6a346 100644
--- a/src/test/run-fail/mir_drop_panics.rs
+++ b/src/test/ui/mir/mir_drop_panics.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:panic 1
 // error-pattern:drop 2
 
diff --git a/src/test/run-fail/mir_dynamic_drops_1.rs b/src/test/ui/mir/mir_dynamic_drops_1.rs
index db8d0af29db..524f13d754d 100644
--- a/src/test/run-fail/mir_dynamic_drops_1.rs
+++ b/src/test/ui/mir/mir_dynamic_drops_1.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:drop 1
 // error-pattern:drop 2
 // ignore-cloudabi no std::process
diff --git a/src/test/run-fail/mir_dynamic_drops_2.rs b/src/test/ui/mir/mir_dynamic_drops_2.rs
index 21d3a042b1e..8415b99bcf9 100644
--- a/src/test/run-fail/mir_dynamic_drops_2.rs
+++ b/src/test/ui/mir/mir_dynamic_drops_2.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:drop 1
 // ignore-cloudabi no std::process
 
diff --git a/src/test/run-fail/mir_dynamic_drops_3.rs b/src/test/ui/mir/mir_dynamic_drops_3.rs
index b9049968682..18914fdb03d 100644
--- a/src/test/run-fail/mir_dynamic_drops_3.rs
+++ b/src/test/ui/mir/mir_dynamic_drops_3.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:unwind happens
 // error-pattern:drop 3
 // error-pattern:drop 2
diff --git a/src/test/run-fail/mir_indexing_oob_1.rs b/src/test/ui/mir/mir_indexing_oob_1.rs
index 1cd53e309eb..d46d3704779 100644
--- a/src/test/run-fail/mir_indexing_oob_1.rs
+++ b/src/test/ui/mir/mir_indexing_oob_1.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:index out of bounds: the len is 5 but the index is 10
 
 const C: [u32; 5] = [0; 5];
diff --git a/src/test/run-fail/mir_indexing_oob_2.rs b/src/test/ui/mir/mir_indexing_oob_2.rs
index 64b260993c9..03b3ea01d6b 100644
--- a/src/test/run-fail/mir_indexing_oob_2.rs
+++ b/src/test/ui/mir/mir_indexing_oob_2.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:index out of bounds: the len is 5 but the index is 10
 
 const C: &'static [u8; 5] = b"hello";
diff --git a/src/test/run-fail/mir_indexing_oob_3.rs b/src/test/ui/mir/mir_indexing_oob_3.rs
index 3688088439b..023d65c4bd0 100644
--- a/src/test/run-fail/mir_indexing_oob_3.rs
+++ b/src/test/ui/mir/mir_indexing_oob_3.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:index out of bounds: the len is 5 but the index is 10
 
 const C: &'static [u8; 5] = b"hello";
diff --git a/src/test/run-fail/return-never-coerce.rs b/src/test/ui/never_type/return-never-coerce.rs
index 18182ff0f9d..fa0c78c2cf3 100644
--- a/src/test/run-fail/return-never-coerce.rs
+++ b/src/test/ui/never_type/return-never-coerce.rs
@@ -1,5 +1,6 @@
 // Test that ! coerces to other types.
 
+// run-fail
 // error-pattern:aah!
 
 fn call_another_fn<T, F: FnOnce() -> T>(f: F) -> T {
diff --git a/src/test/run-fail/divide-by-zero.rs b/src/test/ui/numbers-arithmetic/divide-by-zero.rs
index ba93563154a..fcbc23b8367 100644
--- a/src/test/run-fail/divide-by-zero.rs
+++ b/src/test/ui/numbers-arithmetic/divide-by-zero.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:attempt to divide by zero
 #[allow(unconditional_panic)]
 fn main() {
diff --git a/src/test/run-fail/mod-zero.rs b/src/test/ui/numbers-arithmetic/mod-zero.rs
index f70b3ac920c..a2798175d68 100644
--- a/src/test/run-fail/mod-zero.rs
+++ b/src/test/ui/numbers-arithmetic/mod-zero.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:attempt to calculate the remainder with a divisor of zero
 #[allow(unconditional_panic)]
 fn main() {
diff --git a/src/test/run-fail/overflowing-add.rs b/src/test/ui/numbers-arithmetic/overflowing-add.rs
index 5ca91314d95..7d63fe3d20b 100644
--- a/src/test/run-fail/overflowing-add.rs
+++ b/src/test/ui/numbers-arithmetic/overflowing-add.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:thread 'main' panicked at 'attempt to add with overflow'
 // compile-flags: -C debug-assertions
 
diff --git a/src/test/ui/numbers-arithmetic/overflowing-lsh-1.rs b/src/test/ui/numbers-arithmetic/overflowing-lsh-1.rs
new file mode 100644
index 00000000000..e5ce8033639
--- /dev/null
+++ b/src/test/ui/numbers-arithmetic/overflowing-lsh-1.rs
@@ -0,0 +1,9 @@
+// build-fail
+// compile-flags: -C debug-assertions
+
+#![deny(arithmetic_overflow, const_err)]
+
+fn main() {
+    let _x = 1_i32 << 32;
+    //~^ ERROR: this arithmetic operation will overflow
+}
diff --git a/src/test/ui/numbers-arithmetic/overflowing-lsh-1.stderr b/src/test/ui/numbers-arithmetic/overflowing-lsh-1.stderr
new file mode 100644
index 00000000000..54008d33968
--- /dev/null
+++ b/src/test/ui/numbers-arithmetic/overflowing-lsh-1.stderr
@@ -0,0 +1,14 @@
+error: this arithmetic operation will overflow
+  --> $DIR/overflowing-lsh-1.rs:7:14
+   |
+LL |     let _x = 1_i32 << 32;
+   |              ^^^^^^^^^^^ attempt to shift left with overflow
+   |
+note: the lint level is defined here
+  --> $DIR/overflowing-lsh-1.rs:4:9
+   |
+LL | #![deny(arithmetic_overflow, const_err)]
+   |         ^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to previous error
+
diff --git a/src/test/ui/numbers-arithmetic/overflowing-lsh-2.rs b/src/test/ui/numbers-arithmetic/overflowing-lsh-2.rs
new file mode 100644
index 00000000000..7fd3407a056
--- /dev/null
+++ b/src/test/ui/numbers-arithmetic/overflowing-lsh-2.rs
@@ -0,0 +1,9 @@
+// build-fail
+// compile-flags: -C debug-assertions
+
+#![deny(arithmetic_overflow, const_err)]
+
+fn main() {
+    let _x = 1 << -1;
+    //~^ ERROR: this arithmetic operation will overflow
+}
diff --git a/src/test/ui/numbers-arithmetic/overflowing-lsh-2.stderr b/src/test/ui/numbers-arithmetic/overflowing-lsh-2.stderr
new file mode 100644
index 00000000000..872e71bb737
--- /dev/null
+++ b/src/test/ui/numbers-arithmetic/overflowing-lsh-2.stderr
@@ -0,0 +1,14 @@
+error: this arithmetic operation will overflow
+  --> $DIR/overflowing-lsh-2.rs:7:14
+   |
+LL |     let _x = 1 << -1;
+   |              ^^^^^^^ attempt to shift left with overflow
+   |
+note: the lint level is defined here
+  --> $DIR/overflowing-lsh-2.rs:4:9
+   |
+LL | #![deny(arithmetic_overflow, const_err)]
+   |         ^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to previous error
+
diff --git a/src/test/ui/numbers-arithmetic/overflowing-lsh-3.rs b/src/test/ui/numbers-arithmetic/overflowing-lsh-3.rs
new file mode 100644
index 00000000000..e007eb4a2e2
--- /dev/null
+++ b/src/test/ui/numbers-arithmetic/overflowing-lsh-3.rs
@@ -0,0 +1,9 @@
+// build-fail
+// compile-flags: -C debug-assertions
+
+#![deny(arithmetic_overflow, const_err)]
+
+fn main() {
+    let _x = 1_u64 << 64;
+    //~^ ERROR: this arithmetic operation will overflow
+}
diff --git a/src/test/ui/numbers-arithmetic/overflowing-lsh-3.stderr b/src/test/ui/numbers-arithmetic/overflowing-lsh-3.stderr
new file mode 100644
index 00000000000..d55ed4a046c
--- /dev/null
+++ b/src/test/ui/numbers-arithmetic/overflowing-lsh-3.stderr
@@ -0,0 +1,14 @@
+error: this arithmetic operation will overflow
+  --> $DIR/overflowing-lsh-3.rs:7:14
+   |
+LL |     let _x = 1_u64 << 64;
+   |              ^^^^^^^^^^^ attempt to shift left with overflow
+   |
+note: the lint level is defined here
+  --> $DIR/overflowing-lsh-3.rs:4:9
+   |
+LL | #![deny(arithmetic_overflow, const_err)]
+   |         ^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to previous error
+
diff --git a/src/test/run-fail/overflowing-lsh-4.rs b/src/test/ui/numbers-arithmetic/overflowing-lsh-4.rs
index 0d3912ce13f..738d0133915 100644
--- a/src/test/run-fail/overflowing-lsh-4.rs
+++ b/src/test/ui/numbers-arithmetic/overflowing-lsh-4.rs
@@ -1,15 +1,15 @@
-// error-pattern:thread 'main' panicked at 'attempt to shift left with overflow'
+// build-fail
 // compile-flags: -C debug-assertions
 
 // This function is checking that our automatic truncation does not
 // sidestep the overflow checking.
 
-#![warn(arithmetic_overflow)]
-#![warn(const_err)]
+#![deny(arithmetic_overflow, const_err)]
 
 fn main() {
     // this signals overflow when checking is on
     let x = 1_i8 << 17;
+    //~^ ERROR: this arithmetic operation will overflow
 
     // ... but when checking is off, the fallback will truncate the
     // input to its lower three bits (= 1). Note that this is *not*
diff --git a/src/test/ui/numbers-arithmetic/overflowing-lsh-4.stderr b/src/test/ui/numbers-arithmetic/overflowing-lsh-4.stderr
new file mode 100644
index 00000000000..1ef8dd3466c
--- /dev/null
+++ b/src/test/ui/numbers-arithmetic/overflowing-lsh-4.stderr
@@ -0,0 +1,14 @@
+error: this arithmetic operation will overflow
+  --> $DIR/overflowing-lsh-4.rs:11:13
+   |
+LL |     let x = 1_i8 << 17;
+   |             ^^^^^^^^^^ attempt to shift left with overflow
+   |
+note: the lint level is defined here
+  --> $DIR/overflowing-lsh-4.rs:7:9
+   |
+LL | #![deny(arithmetic_overflow, const_err)]
+   |         ^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to previous error
+
diff --git a/src/test/run-fail/overflowing-mul.rs b/src/test/ui/numbers-arithmetic/overflowing-mul.rs
index 2dfc9bb5ae4..6e17aeb6761 100644
--- a/src/test/run-fail/overflowing-mul.rs
+++ b/src/test/ui/numbers-arithmetic/overflowing-mul.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:thread 'main' panicked at 'attempt to multiply with overflow'
 // compile-flags: -C debug-assertions
 
diff --git a/src/test/run-fail/overflowing-neg.rs b/src/test/ui/numbers-arithmetic/overflowing-neg.rs
index f512aa35bed..f77bc132e76 100644
--- a/src/test/run-fail/overflowing-neg.rs
+++ b/src/test/ui/numbers-arithmetic/overflowing-neg.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:thread 'main' panicked at 'attempt to negate with overflow'
 // compile-flags: -C debug-assertions
 
diff --git a/src/test/run-fail/overflowing-pow-signed.rs b/src/test/ui/numbers-arithmetic/overflowing-pow-signed.rs
index c539c685faf..a855ef0ec06 100644
--- a/src/test/run-fail/overflowing-pow-signed.rs
+++ b/src/test/ui/numbers-arithmetic/overflowing-pow-signed.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:thread 'main' panicked at 'attempt to multiply with overflow'
 // compile-flags: -C debug-assertions
 
diff --git a/src/test/run-fail/overflowing-pow-unsigned.rs b/src/test/ui/numbers-arithmetic/overflowing-pow-unsigned.rs
index 1d4fa3b5c7e..26a2b2c4b8a 100644
--- a/src/test/run-fail/overflowing-pow-unsigned.rs
+++ b/src/test/ui/numbers-arithmetic/overflowing-pow-unsigned.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:thread 'main' panicked at 'attempt to multiply with overflow'
 // compile-flags: -C debug-assertions
 
diff --git a/src/test/ui/numbers-arithmetic/overflowing-rsh-1.rs b/src/test/ui/numbers-arithmetic/overflowing-rsh-1.rs
new file mode 100644
index 00000000000..f1488cf8559
--- /dev/null
+++ b/src/test/ui/numbers-arithmetic/overflowing-rsh-1.rs
@@ -0,0 +1,9 @@
+// build-fail
+// compile-flags: -C debug-assertions
+
+#![deny(arithmetic_overflow, const_err)]
+
+fn main() {
+    let _x = -1_i32 >> 32;
+    //~^ ERROR: this arithmetic operation will overflow
+}
diff --git a/src/test/ui/numbers-arithmetic/overflowing-rsh-1.stderr b/src/test/ui/numbers-arithmetic/overflowing-rsh-1.stderr
new file mode 100644
index 00000000000..236303e2e9a
--- /dev/null
+++ b/src/test/ui/numbers-arithmetic/overflowing-rsh-1.stderr
@@ -0,0 +1,14 @@
+error: this arithmetic operation will overflow
+  --> $DIR/overflowing-rsh-1.rs:7:14
+   |
+LL |     let _x = -1_i32 >> 32;
+   |              ^^^^^^^^^^^^ attempt to shift right with overflow
+   |
+note: the lint level is defined here
+  --> $DIR/overflowing-rsh-1.rs:4:9
+   |
+LL | #![deny(arithmetic_overflow, const_err)]
+   |         ^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to previous error
+
diff --git a/src/test/ui/numbers-arithmetic/overflowing-rsh-2.rs b/src/test/ui/numbers-arithmetic/overflowing-rsh-2.rs
new file mode 100644
index 00000000000..39127b9703b
--- /dev/null
+++ b/src/test/ui/numbers-arithmetic/overflowing-rsh-2.rs
@@ -0,0 +1,9 @@
+// build-fail
+// compile-flags: -C debug-assertions
+
+#![deny(arithmetic_overflow, const_err)]
+
+fn main() {
+    let _x = -1_i32 >> -1;
+    //~^ ERROR: this arithmetic operation will overflow
+}
diff --git a/src/test/ui/numbers-arithmetic/overflowing-rsh-2.stderr b/src/test/ui/numbers-arithmetic/overflowing-rsh-2.stderr
new file mode 100644
index 00000000000..981c8986f76
--- /dev/null
+++ b/src/test/ui/numbers-arithmetic/overflowing-rsh-2.stderr
@@ -0,0 +1,14 @@
+error: this arithmetic operation will overflow
+  --> $DIR/overflowing-rsh-2.rs:7:14
+   |
+LL |     let _x = -1_i32 >> -1;
+   |              ^^^^^^^^^^^^ attempt to shift right with overflow
+   |
+note: the lint level is defined here
+  --> $DIR/overflowing-rsh-2.rs:4:9
+   |
+LL | #![deny(arithmetic_overflow, const_err)]
+   |         ^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to previous error
+
diff --git a/src/test/ui/numbers-arithmetic/overflowing-rsh-3.rs b/src/test/ui/numbers-arithmetic/overflowing-rsh-3.rs
new file mode 100644
index 00000000000..8ee6dde93ea
--- /dev/null
+++ b/src/test/ui/numbers-arithmetic/overflowing-rsh-3.rs
@@ -0,0 +1,9 @@
+// build-fail
+// compile-flags: -C debug-assertions
+
+#![deny(arithmetic_overflow, const_err)]
+
+fn main() {
+    let _x = -1_i64 >> 64;
+    //~^ ERROR: this arithmetic operation will overflow
+}
diff --git a/src/test/ui/numbers-arithmetic/overflowing-rsh-3.stderr b/src/test/ui/numbers-arithmetic/overflowing-rsh-3.stderr
new file mode 100644
index 00000000000..c2994503f0e
--- /dev/null
+++ b/src/test/ui/numbers-arithmetic/overflowing-rsh-3.stderr
@@ -0,0 +1,14 @@
+error: this arithmetic operation will overflow
+  --> $DIR/overflowing-rsh-3.rs:7:14
+   |
+LL |     let _x = -1_i64 >> 64;
+   |              ^^^^^^^^^^^^ attempt to shift right with overflow
+   |
+note: the lint level is defined here
+  --> $DIR/overflowing-rsh-3.rs:4:9
+   |
+LL | #![deny(arithmetic_overflow, const_err)]
+   |         ^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to previous error
+
diff --git a/src/test/run-fail/overflowing-rsh-4.rs b/src/test/ui/numbers-arithmetic/overflowing-rsh-4.rs
index 1877d5c9685..ce7f818e330 100644
--- a/src/test/run-fail/overflowing-rsh-4.rs
+++ b/src/test/ui/numbers-arithmetic/overflowing-rsh-4.rs
@@ -1,15 +1,15 @@
-// error-pattern:thread 'main' panicked at 'attempt to shift right with overflow'
+// build-fail
 // compile-flags: -C debug-assertions
 
 // This function is checking that our (type-based) automatic
 // truncation does not sidestep the overflow checking.
 
-#![warn(arithmetic_overflow)]
-#![warn(const_err)]
+#![deny(arithmetic_overflow, const_err)]
 
 fn main() {
     // this signals overflow when checking is on
     let x = 2_i8 >> 17;
+    //~^ ERROR: this arithmetic operation will overflow
 
     // ... but when checking is off, the fallback will truncate the
     // input to its lower three bits (= 1). Note that this is *not*
diff --git a/src/test/ui/numbers-arithmetic/overflowing-rsh-4.stderr b/src/test/ui/numbers-arithmetic/overflowing-rsh-4.stderr
new file mode 100644
index 00000000000..3db1da06dbe
--- /dev/null
+++ b/src/test/ui/numbers-arithmetic/overflowing-rsh-4.stderr
@@ -0,0 +1,14 @@
+error: this arithmetic operation will overflow
+  --> $DIR/overflowing-rsh-4.rs:11:13
+   |
+LL |     let x = 2_i8 >> 17;
+   |             ^^^^^^^^^^ attempt to shift right with overflow
+   |
+note: the lint level is defined here
+  --> $DIR/overflowing-rsh-4.rs:7:9
+   |
+LL | #![deny(arithmetic_overflow, const_err)]
+   |         ^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to previous error
+
diff --git a/src/test/ui/numbers-arithmetic/overflowing-rsh-5.rs b/src/test/ui/numbers-arithmetic/overflowing-rsh-5.rs
new file mode 100644
index 00000000000..88928c99596
--- /dev/null
+++ b/src/test/ui/numbers-arithmetic/overflowing-rsh-5.rs
@@ -0,0 +1,9 @@
+// build-fail
+// compile-flags: -C debug-assertions
+
+#![deny(arithmetic_overflow, const_err)]
+
+fn main() {
+    let _n = 1i64 >> [64][0];
+    //~^ ERROR: this arithmetic operation will overflow
+}
diff --git a/src/test/ui/numbers-arithmetic/overflowing-rsh-5.stderr b/src/test/ui/numbers-arithmetic/overflowing-rsh-5.stderr
new file mode 100644
index 00000000000..bd3eae82977
--- /dev/null
+++ b/src/test/ui/numbers-arithmetic/overflowing-rsh-5.stderr
@@ -0,0 +1,14 @@
+error: this arithmetic operation will overflow
+  --> $DIR/overflowing-rsh-5.rs:7:14
+   |
+LL |     let _n = 1i64 >> [64][0];
+   |              ^^^^^^^^^^^^^^^ attempt to shift right with overflow
+   |
+note: the lint level is defined here
+  --> $DIR/overflowing-rsh-5.rs:4:9
+   |
+LL | #![deny(arithmetic_overflow, const_err)]
+   |         ^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to previous error
+
diff --git a/src/test/ui/numbers-arithmetic/overflowing-rsh-6.rs b/src/test/ui/numbers-arithmetic/overflowing-rsh-6.rs
new file mode 100644
index 00000000000..88928c99596
--- /dev/null
+++ b/src/test/ui/numbers-arithmetic/overflowing-rsh-6.rs
@@ -0,0 +1,9 @@
+// build-fail
+// compile-flags: -C debug-assertions
+
+#![deny(arithmetic_overflow, const_err)]
+
+fn main() {
+    let _n = 1i64 >> [64][0];
+    //~^ ERROR: this arithmetic operation will overflow
+}
diff --git a/src/test/ui/numbers-arithmetic/overflowing-rsh-6.stderr b/src/test/ui/numbers-arithmetic/overflowing-rsh-6.stderr
new file mode 100644
index 00000000000..5d76639fb50
--- /dev/null
+++ b/src/test/ui/numbers-arithmetic/overflowing-rsh-6.stderr
@@ -0,0 +1,14 @@
+error: this arithmetic operation will overflow
+  --> $DIR/overflowing-rsh-6.rs:7:14
+   |
+LL |     let _n = 1i64 >> [64][0];
+   |              ^^^^^^^^^^^^^^^ attempt to shift right with overflow
+   |
+note: the lint level is defined here
+  --> $DIR/overflowing-rsh-6.rs:4:9
+   |
+LL | #![deny(arithmetic_overflow, const_err)]
+   |         ^^^^^^^^^^^^^^^^^^^
+
+error: aborting due to previous error
+
diff --git a/src/test/run-fail/overflowing-sub.rs b/src/test/ui/numbers-arithmetic/overflowing-sub.rs
index fb096c31957..2e2ee521247 100644
--- a/src/test/run-fail/overflowing-sub.rs
+++ b/src/test/ui/numbers-arithmetic/overflowing-sub.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:thread 'main' panicked at 'attempt to subtract with overflow'
 // compile-flags: -C debug-assertions
 
diff --git a/src/test/run-fail/promoted_overflow.rs b/src/test/ui/numbers-arithmetic/promoted_overflow.rs
index 3c42da4b1d8..da59e81ed6b 100644
--- a/src/test/run-fail/promoted_overflow.rs
+++ b/src/test/ui/numbers-arithmetic/promoted_overflow.rs
@@ -1,5 +1,6 @@
 #![allow(arithmetic_overflow)]
 
+// run-fail
 // error-pattern: overflow
 // compile-flags: -C overflow-checks=yes
 
diff --git a/src/test/run-fail/unwind-interleaved.rs b/src/test/ui/panic-runtime/unwind-interleaved.rs
index c163678ae98..3d2b8a69480 100644
--- a/src/test/run-fail/unwind-interleaved.rs
+++ b/src/test/ui/panic-runtime/unwind-interleaved.rs
@@ -1,4 +1,5 @@
-// error-pattern:fail
+// run-fail
+// error-pattern:explicit panic
 
 fn a() {}
 
diff --git a/src/test/run-fail/unwind-rec.rs b/src/test/ui/panic-runtime/unwind-rec.rs
index 83ac19ff4a5..88aa6a577e6 100644
--- a/src/test/run-fail/unwind-rec.rs
+++ b/src/test/ui/panic-runtime/unwind-rec.rs
@@ -1,5 +1,5 @@
-// error-pattern:fail
-
+// run-fail
+// error-pattern:explicit panic
 
 fn build() -> Vec<isize> {
     panic!();
diff --git a/src/test/run-fail/unwind-rec2.rs b/src/test/ui/panic-runtime/unwind-rec2.rs
index 4dfc282b6c0..b3cac5141bb 100644
--- a/src/test/run-fail/unwind-rec2.rs
+++ b/src/test/ui/panic-runtime/unwind-rec2.rs
@@ -1,5 +1,5 @@
-// error-pattern:fail
-
+// run-fail
+// error-pattern:explicit panic
 
 fn build1() -> Vec<isize> {
     vec![0, 0, 0, 0, 0, 0, 0]
diff --git a/src/test/run-fail/unwind-unique.rs b/src/test/ui/panic-runtime/unwind-unique.rs
index 7b761faad95..fabd28ac4f9 100644
--- a/src/test/run-fail/unwind-unique.rs
+++ b/src/test/ui/panic-runtime/unwind-unique.rs
@@ -1,4 +1,5 @@
-// error-pattern:fail
+// run-fail
+// error-pattern:explicit panic
 
 fn failfn() {
     panic!();
diff --git a/src/test/run-fail/args-panic.rs b/src/test/ui/panics/args-panic.rs
index 9a62652dde1..cdf1ef44752 100644
--- a/src/test/run-fail/args-panic.rs
+++ b/src/test/ui/panics/args-panic.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:meep
 
 #![feature(box_syntax)]
diff --git a/src/test/run-fail/doublepanic.rs b/src/test/ui/panics/doublepanic.rs
index 10d303e491e..0b6ac6fe410 100644
--- a/src/test/run-fail/doublepanic.rs
+++ b/src/test/ui/panics/doublepanic.rs
@@ -1,6 +1,8 @@
 #![allow(unreachable_code)]
 
+// run-fail
 // error-pattern:One
+
 fn main() {
     panic!("One");
     panic!("Two");
diff --git a/src/test/run-fail/explicit-panic-msg.rs b/src/test/ui/panics/explicit-panic-msg.rs
index 35e0518b9be..d27fc3e06f1 100644
--- a/src/test/run-fail/explicit-panic-msg.rs
+++ b/src/test/ui/panics/explicit-panic-msg.rs
@@ -1,7 +1,9 @@
 #![allow(unused_assignments)]
 #![allow(unused_variables)]
 
+// run-fail
 // error-pattern:wooooo
+
 fn main() {
     let mut a = 1;
     if 1 == 1 {
diff --git a/src/test/run-fail/explicit-panic.rs b/src/test/ui/panics/explicit-panic.rs
index 11ea6b41221..ddd5f00be6e 100644
--- a/src/test/run-fail/explicit-panic.rs
+++ b/src/test/ui/panics/explicit-panic.rs
@@ -1,4 +1,6 @@
+// run-fail
 // error-pattern:explicit
+
 fn main() {
     panic!();
 }
diff --git a/src/test/run-fail/fmt-panic.rs b/src/test/ui/panics/fmt-panic.rs
index 5749991914c..8024f7b6166 100644
--- a/src/test/run-fail/fmt-panic.rs
+++ b/src/test/ui/panics/fmt-panic.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:meh
 
 fn main() {
diff --git a/src/test/run-fail/main-panic.rs b/src/test/ui/panics/main-panic.rs
index 3a9409562db..34bd9f8e0c6 100644
--- a/src/test/run-fail/main-panic.rs
+++ b/src/test/ui/panics/main-panic.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:thread 'main' panicked at
 
 fn main() {
diff --git a/src/test/run-fail/panic-arg.rs b/src/test/ui/panics/panic-arg.rs
index c164ff94630..b73487d083c 100644
--- a/src/test/run-fail/panic-arg.rs
+++ b/src/test/ui/panics/panic-arg.rs
@@ -1,4 +1,6 @@
+// run-fail
 // error-pattern:woe
+
 fn f(a: isize) {
     println!("{}", a);
 }
diff --git a/src/test/run-fail/panic-macro-any-wrapped.rs b/src/test/ui/panics/panic-macro-any-wrapped.rs
index 83eb39a538f..85737e947a1 100644
--- a/src/test/run-fail/panic-macro-any-wrapped.rs
+++ b/src/test/ui/panics/panic-macro-any-wrapped.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:panicked at 'Box<Any>'
 
 fn main() {
diff --git a/src/test/run-fail/panic-macro-any.rs b/src/test/ui/panics/panic-macro-any.rs
index 72d42e5b799..0d9eec17eb7 100644
--- a/src/test/run-fail/panic-macro-any.rs
+++ b/src/test/ui/panics/panic-macro-any.rs
@@ -1,7 +1,8 @@
+// run-fail
 // error-pattern:panicked at 'Box<Any>'
 
 #![feature(box_syntax)]
 
 fn main() {
-    panic!(box 413 as Box<::std::any::Any + Send>);
+    panic!(box 413 as Box<dyn std::any::Any + Send>);
 }
diff --git a/src/test/run-fail/panic-macro-explicit.rs b/src/test/ui/panics/panic-macro-explicit.rs
index f632034807c..f27bdda3f32 100644
--- a/src/test/run-fail/panic-macro-explicit.rs
+++ b/src/test/ui/panics/panic-macro-explicit.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:panicked at 'explicit panic'
 
 fn main() {
diff --git a/src/test/run-fail/panic-macro-fmt.rs b/src/test/ui/panics/panic-macro-fmt.rs
index 658ae56e7e4..c18d7830d06 100644
--- a/src/test/run-fail/panic-macro-fmt.rs
+++ b/src/test/ui/panics/panic-macro-fmt.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:panicked at 'test-fail-fmt 42 rust'
 
 fn main() {
diff --git a/src/test/run-fail/panic-macro-owned.rs b/src/test/ui/panics/panic-macro-owned.rs
index 9b935717638..fd56cfa3bb8 100644
--- a/src/test/run-fail/panic-macro-owned.rs
+++ b/src/test/ui/panics/panic-macro-owned.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:panicked at 'test-fail-owned'
 
 fn main() {
diff --git a/src/test/run-fail/panic-macro-static.rs b/src/test/ui/panics/panic-macro-static.rs
index 31ac488beb2..a78732ed398 100644
--- a/src/test/run-fail/panic-macro-static.rs
+++ b/src/test/ui/panics/panic-macro-static.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:panicked at 'test-fail-static'
 
 fn main() {
diff --git a/src/test/run-fail/panic-main.rs b/src/test/ui/panics/panic-main.rs
index 881eb7b5823..17ad25e3686 100644
--- a/src/test/run-fail/panic-main.rs
+++ b/src/test/ui/panics/panic-main.rs
@@ -1,4 +1,6 @@
+// run-fail
 // error-pattern:moop
+
 fn main() {
     panic!("moop");
 }
diff --git a/src/test/run-fail/panic-parens.rs b/src/test/ui/panics/panic-parens.rs
index e7f98e58c4f..8052c78cc63 100644
--- a/src/test/run-fail/panic-parens.rs
+++ b/src/test/ui/panics/panic-parens.rs
@@ -1,5 +1,6 @@
 // Fail macros without arguments need to be disambiguated in
 // certain positions
+// run-fail
 // error-pattern:oops
 
 fn bigpanic() {
diff --git a/src/test/run-fail/panic-set-handler.rs b/src/test/ui/panics/panic-set-handler.rs
index ea2b152c6c4..55542e58433 100644
--- a/src/test/run-fail/panic-set-handler.rs
+++ b/src/test/ui/panics/panic-set-handler.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:greetings from the panic handler
 
 use std::panic;
diff --git a/src/test/run-fail/panic-set-unset-handler.rs b/src/test/ui/panics/panic-set-unset-handler.rs
index f8809c2f388..6b4c047eaf2 100644
--- a/src/test/run-fail/panic-set-unset-handler.rs
+++ b/src/test/ui/panics/panic-set-unset-handler.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:thread 'main' panicked at 'foobar'
 
 use std::panic;
diff --git a/src/test/run-fail/panic-take-handler-nop.rs b/src/test/ui/panics/panic-take-handler-nop.rs
index bb191a38f84..e519209a5a6 100644
--- a/src/test/run-fail/panic-take-handler-nop.rs
+++ b/src/test/ui/panics/panic-take-handler-nop.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:thread 'main' panicked at 'foobar'
 
 use std::panic;
diff --git a/src/test/run-fail/panic-task-name-none.rs b/src/test/ui/panics/panic-task-name-none.rs
index c7f504046ba..4e95fb5bdb8 100644
--- a/src/test/run-fail/panic-task-name-none.rs
+++ b/src/test/ui/panics/panic-task-name-none.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:thread '<unnamed>' panicked at 'test'
 // ignore-emscripten Needs threads
 
diff --git a/src/test/run-fail/panic-task-name-owned.rs b/src/test/ui/panics/panic-task-name-owned.rs
index 58f76ff787f..f85be7bb8e2 100644
--- a/src/test/run-fail/panic-task-name-owned.rs
+++ b/src/test/ui/panics/panic-task-name-owned.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:thread 'owned name' panicked at 'test'
 // ignore-emscripten Needs threads.
 
diff --git a/src/test/run-fail/panic.rs b/src/test/ui/panics/panic.rs
index 95f20dedad2..7e8ea8b8175 100644
--- a/src/test/run-fail/panic.rs
+++ b/src/test/ui/panics/panic.rs
@@ -1,4 +1,6 @@
+// run-fail
 // error-pattern:1 == 2
+
 fn main() {
     assert!(1 == 2);
 }
diff --git a/src/test/run-fail/result-get-panic.rs b/src/test/ui/panics/result-get-panic.rs
index cddf20ee49d..41bc13bf085 100644
--- a/src/test/run-fail/result-get-panic.rs
+++ b/src/test/ui/panics/result-get-panic.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:called `Result::unwrap()` on an `Err` value
 
 use std::result::Result::Err;
diff --git a/src/test/run-fail/test-panic.rs b/src/test/ui/panics/test-panic.rs
index 92f5146b710..85c9279cdf2 100644
--- a/src/test/run-fail/test-panic.rs
+++ b/src/test/ui/panics/test-panic.rs
@@ -1,5 +1,5 @@
+// run-fail
 // check-stdout
-// error-pattern:thread 'test_foo' panicked at
 // compile-flags: --test
 // ignore-emscripten
 
diff --git a/src/test/run-fail/test-should-fail-bad-message.rs b/src/test/ui/panics/test-should-fail-bad-message.rs
index 3c69bb07d3b..701f2677648 100644
--- a/src/test/run-fail/test-should-fail-bad-message.rs
+++ b/src/test/ui/panics/test-should-fail-bad-message.rs
@@ -1,5 +1,5 @@
+// run-fail
 // check-stdout
-// error-pattern:thread 'test_foo' panicked at
 // compile-flags: --test
 // ignore-emscripten
 
diff --git a/src/test/run-fail/test-should-panic-bad-message.rs b/src/test/ui/panics/test-should-panic-bad-message.rs
index b73d4d7377a..a90d67a7d6b 100644
--- a/src/test/run-fail/test-should-panic-bad-message.rs
+++ b/src/test/ui/panics/test-should-panic-bad-message.rs
@@ -1,7 +1,7 @@
+// run-fail
 // compile-flags: --test
-
-// error-pattern:panicked at 'bar'
 // check-stdout
+
 #[test]
 #[should_panic(expected = "foo")]
 pub fn test_bar() {
diff --git a/src/test/run-fail/test-should-panic-no-message.rs b/src/test/ui/panics/test-should-panic-no-message.rs
index b18389ec744..217267d2d75 100644
--- a/src/test/run-fail/test-should-panic-no-message.rs
+++ b/src/test/ui/panics/test-should-panic-no-message.rs
@@ -1,7 +1,7 @@
+// run-fail
 // compile-flags: --test
-
-// error-pattern:panicked at 'explicit panic'
 // check-stdout
+
 #[test]
 #[should_panic(expected = "foo")]
 pub fn test_explicit() {
diff --git a/src/test/run-fail/unique-panic.rs b/src/test/ui/panics/unique-panic.rs
index adefd796af4..22e0d63d594 100644
--- a/src/test/run-fail/unique-panic.rs
+++ b/src/test/ui/panics/unique-panic.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern: panic
 
 fn main() {
diff --git a/src/test/run-fail/while-body-panics.rs b/src/test/ui/panics/while-body-panics.rs
index 76acb4ba42d..b335c90a073 100644
--- a/src/test/run-fail/while-body-panics.rs
+++ b/src/test/ui/panics/while-body-panics.rs
@@ -1,6 +1,8 @@
 #![allow(while_true)]
 
+// run-fail
 // error-pattern:quux
+
 fn main() {
     let _x: isize = {
         while true {
diff --git a/src/test/run-fail/while-panic.rs b/src/test/ui/panics/while-panic.rs
index a0827591729..45be38418e0 100644
--- a/src/test/run-fail/while-panic.rs
+++ b/src/test/ui/panics/while-panic.rs
@@ -1,6 +1,8 @@
 #![allow(while_true)]
 
+// run-fail
 // error-pattern:giraffe
+
 fn main() {
     panic!({
         while true {
diff --git a/src/test/run-fail/tls-exit-status.rs b/src/test/ui/process/tls-exit-status.rs
index f15fd4f6894..973bb9c4f0c 100644
--- a/src/test/run-fail/tls-exit-status.rs
+++ b/src/test/ui/process/tls-exit-status.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:nonzero
 // exec-env:RUST_NEWRT=1
 // ignore-cloudabi no std::env
diff --git a/src/test/run-fail/rfc-1937-termination-trait/termination-trait-for-box-dyn-error.rs b/src/test/ui/rfc-1937-termination-trait/termination-trait-for-box-dyn-error.rs
index 796729ac4cc..724ce509041 100644
--- a/src/test/run-fail/rfc-1937-termination-trait/termination-trait-for-box-dyn-error.rs
+++ b/src/test/ui/rfc-1937-termination-trait/termination-trait-for-box-dyn-error.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:returned Box<dyn Error> from main()
 // failure-status: 1
 
diff --git a/src/test/run-fail/rfc-1937-termination-trait/termination-trait-for-never.rs b/src/test/ui/rfc-1937-termination-trait/termination-trait-for-never.rs
index cb37b8e0670..d5b6b5016d4 100644
--- a/src/test/run-fail/rfc-1937-termination-trait/termination-trait-for-never.rs
+++ b/src/test/ui/rfc-1937-termination-trait/termination-trait-for-never.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:oh, dear
 
 fn main() -> ! {
diff --git a/src/test/run-fail/rfc-1937-termination-trait/termination-trait-for-result-box-error_err.rs b/src/test/ui/rfc-1937-termination-trait/termination-trait-for-result-box-error_err.rs
index 2f3a73a30ad..a99480e57ab 100644
--- a/src/test/run-fail/rfc-1937-termination-trait/termination-trait-for-result-box-error_err.rs
+++ b/src/test/ui/rfc-1937-termination-trait/termination-trait-for-result-box-error_err.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:returned Box<Error> from main()
 // failure-status: 1
 
diff --git a/src/test/run-fail/rfc-1937-termination-trait/termination-trait-for-str.rs b/src/test/ui/rfc-1937-termination-trait/termination-trait-for-str.rs
index bd6fa8af935..c78477e4eee 100644
--- a/src/test/run-fail/rfc-1937-termination-trait/termination-trait-for-str.rs
+++ b/src/test/ui/rfc-1937-termination-trait/termination-trait-for-str.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern: An error message for you
 // failure-status: 1
 
diff --git a/src/test/run-fail/str-overrun.rs b/src/test/ui/str/str-overrun.rs
index e566308a087..78bbf0cfdb9 100644
--- a/src/test/run-fail/str-overrun.rs
+++ b/src/test/ui/str/str-overrun.rs
@@ -1,4 +1,6 @@
+// run-fail
 // error-pattern:index out of bounds: the len is 5 but the index is 5
+
 fn main() {
     let s: String = "hello".to_string();
 
diff --git a/src/test/run-fail/rhs-type.rs b/src/test/ui/structs/rhs-type.rs
index 6efbeadd704..dd227a7f0a0 100644
--- a/src/test/run-fail/rhs-type.rs
+++ b/src/test/ui/structs/rhs-type.rs
@@ -1,5 +1,7 @@
 // Tests that codegen treats the rhs of pth's decl
 // as a _|_-typed thing, not a str-typed thing
+
+// run-fail
 // error-pattern:bye
 
 #![allow(unreachable_code)]
diff --git a/src/test/run-fail/run-unexported-tests.rs b/src/test/ui/test-attrs/run-unexported-tests.rs
index 11e100e716e..f533a3ef885 100644
--- a/src/test/run-fail/run-unexported-tests.rs
+++ b/src/test/ui/test-attrs/run-unexported-tests.rs
@@ -1,4 +1,4 @@
-// error-pattern:ran an unexported test
+// run-fail
 // compile-flags:--test
 // check-stdout
 
diff --git a/src/test/run-fail/task-spawn-barefn.rs b/src/test/ui/threads-sendsync/task-spawn-barefn.rs
index 497c5ea7180..e5b899e0af9 100644
--- a/src/test/run-fail/task-spawn-barefn.rs
+++ b/src/test/ui/threads-sendsync/task-spawn-barefn.rs
@@ -1,3 +1,4 @@
+// run-fail
 // error-pattern:Ensure that the child thread runs by panicking
 // ignore-emscripten Needs threads.
 
diff --git a/src/test/run-fail/test-tasks-invalid-value.rs b/src/test/ui/threads-sendsync/test-tasks-invalid-value.rs
index 2dae1b4592c..6411421429c 100644
--- a/src/test/run-fail/test-tasks-invalid-value.rs
+++ b/src/test/ui/threads-sendsync/test-tasks-invalid-value.rs
@@ -1,6 +1,7 @@
 // This checks that RUST_TEST_THREADS not being 1, 2, ... is detected
 // properly.
 
+// run-fail
 // error-pattern:should be a positive integer
 // compile-flags: --test
 // exec-env:RUST_TEST_THREADS=foo
diff --git a/src/test/run-fail/vec-overrun.rs b/src/test/ui/vec/vec-overrun.rs
index 2be945f736c..4f6aec7773f 100644
--- a/src/test/run-fail/vec-overrun.rs
+++ b/src/test/ui/vec/vec-overrun.rs
@@ -1,6 +1,6 @@
+// run-fail
 // error-pattern:index out of bounds: the len is 1 but the index is 2
 
-
 fn main() {
     let v: Vec<isize> = vec![10];
     let x: usize = 0;