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, message: isize) { - send(ch, message); -} - -type task_id = isize; -type port_id = isize; - -struct chan_t { - task: task_id, - port: port_id, - marker: PhantomData<*mut T>, -} - -fn send(_ch: chan_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 similarity index 93% rename from src/test/run-fail/bounds-check-no-overflow.rs rename to 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 similarity index 94% rename from src/test/run-fail/dst-raw-slice.rs rename to 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 similarity index 76% rename from src/test/run-fail/binop-fail-3.rs rename to 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 similarity index 91% rename from src/test/run-fail/binop-panic.rs rename to 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 similarity index 92% rename from src/test/run-fail/borrowck-local-borrow.rs rename to 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 similarity index 89% rename from src/test/run-fail/diverging-closure.rs rename to 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 similarity index 91% rename from src/test/run-fail/promoted_div_by_zero.rs rename to 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 similarity index 87% rename from src/test/run-fail/expr-fn-panic.rs rename to 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 similarity index 97% rename from src/test/run-fail/generator-resume-after-panic.rs rename to 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 similarity index 95% rename from src/test/run-fail/hashmap-capacity-overflow.rs rename to 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 similarity index 100% rename from src/test/ui/hashmap-iter-value-lifetime.nll.stderr rename to 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 similarity index 100% rename from src/test/ui/hashmap-iter-value-lifetime.rs rename to 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 similarity index 100% rename from src/test/ui/hashmap-iter-value-lifetime.stderr rename to 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 similarity index 100% rename from src/test/ui/hashmap-lifetimes.nll.stderr rename to 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 similarity index 100% rename from src/test/ui/hashmap-lifetimes.rs rename to src/test/ui/hashmap/hashmap-lifetimes.rs diff --git a/src/test/ui/hashmap-lifetimes.stderr b/src/test/ui/hashmap/hashmap-lifetimes.stderr similarity index 100% rename from src/test/ui/hashmap-lifetimes.stderr rename to src/test/ui/hashmap/hashmap-lifetimes.stderr diff --git a/src/test/ui/hashmap-memory.rs b/src/test/ui/hashmap/hashmap-memory.rs similarity index 100% rename from src/test/ui/hashmap-memory.rs rename to 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 similarity index 93% rename from src/test/run-fail/expr-if-panic-fn.rs rename to 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 similarity index 92% rename from src/test/run-fail/expr-if-panic.rs rename to 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 similarity index 96% rename from src/test/run-fail/if-check-panic.rs rename to 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 similarity index 91% rename from src/test/run-fail/if-cond-bot.rs rename to 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 similarity index 89% rename from src/test/run-fail/glob-use-std.rs rename to 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 similarity index 88% rename from src/test/run-fail/issue-12920.rs rename to 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 similarity index 89% rename from src/test/run-fail/issue-13202.rs rename to 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 similarity index 95% rename from src/test/run-fail/issue-18576.rs rename to 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 similarity index 78% rename from src/test/run-fail/issue-20971.rs rename to 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::Input> + 'static> { +pub fn many() -> Box::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 similarity index 93% rename from src/test/run-fail/issue-23354-2.rs rename to 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 similarity index 90% rename from src/test/run-fail/issue-23354.rs rename to 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 similarity index 61% rename from src/test/run-fail/issue-2444.rs rename to 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 { - ee(Arc), +enum Err { + Errr(Arc), } -fn foo() -> e { +fn foo() -> Err { 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 similarity index 98% rename from src/test/run-fail/bug-2470-bounds-check-overflow.rs rename to 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 similarity index 87% rename from src/test/run-fail/issue-2761.rs rename to 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 similarity index 98% rename from src/test/run-fail/issue-28934.rs rename to 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 similarity index 92% rename from src/test/run-fail/issue-29798.rs rename to 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 similarity index 94% rename from src/test/run-fail/issue-3029.rs rename to 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 similarity index 98% rename from src/test/run-fail/issue-30380.rs rename to 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 similarity index 93% rename from src/test/run-fail/issue-44216-add-instant.rs rename to 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 similarity index 93% rename from src/test/run-fail/issue-44216-add-system-time.rs rename to 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 similarity index 93% rename from src/test/run-fail/issue-44216-sub-instant.rs rename to 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 similarity index 93% rename from src/test/run-fail/issue-44216-sub-system-time.rs rename to 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 similarity index 92% rename from src/test/run-fail/issue-51345.rs rename to 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 similarity index 87% rename from src/test/run-fail/issue-6458-1.rs rename to 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) {} 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, message: isize) { + send(ch, message); +} + +type TaskId = isize; +type PortId = isize; + +struct Chan { + task: TaskId, + port: PortId, + marker: PhantomData<*mut T>, +} + +fn send(_ch: Chan, _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 similarity index 94% rename from src/test/run-fail/issue-948.rs rename to 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 similarity index 89% rename from src/test/run-fail/for-each-loop-panic.rs rename to 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 similarity index 86% rename from src/test/run-fail/assert-as-macro.rs rename to 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 similarity index 92% rename from src/test/run-fail/assert-eq-macro-panic.rs rename to 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 similarity index 88% rename from src/test/run-fail/assert-macro-explicit.rs rename to 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 similarity index 91% rename from src/test/run-fail/assert-macro-fmt.rs rename to 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 similarity index 90% rename from src/test/run-fail/assert-macro-owned.rs rename to 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 similarity index 89% rename from src/test/run-fail/assert-macro-static.rs rename to 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 similarity index 92% rename from src/test/run-fail/assert-ne-macro-panic.rs rename to 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 similarity index 82% rename from src/test/run-fail/die-macro.rs rename to 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 similarity index 86% rename from src/test/run-fail/die-macro-expr.rs rename to 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 similarity index 86% rename from src/test/run-fail/die-macro-pure.rs rename to 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 similarity index 83% rename from src/test/run-fail/unimplemented-macro-panic.rs rename to 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 similarity index 91% rename from src/test/run-fail/unreachable-fmt-msg.rs rename to 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 similarity index 87% rename from src/test/run-fail/unreachable-macro-panic.rs rename to 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 similarity index 88% rename from src/test/run-fail/unreachable-static-msg.rs rename to 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 similarity index 87% rename from src/test/run-fail/unreachable.rs rename to 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 similarity index 94% rename from src/test/run-fail/expr-match-panic-fn.rs rename to 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 similarity index 91% rename from src/test/run-fail/expr-match-panic.rs rename to 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 similarity index 95% rename from src/test/run-fail/match-bot-panic.rs rename to 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 similarity index 92% rename from src/test/run-fail/match-disc-bot.rs rename to 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 similarity index 96% rename from src/test/run-fail/match-wildcards.rs rename to 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::) { (Some(_), _) => { diff --git a/src/test/run-fail/meta-revision-bad.rs b/src/test/ui/meta-revision-bad.rs similarity index 96% rename from src/test/run-fail/meta-revision-bad.rs rename to 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 similarity index 96% rename from src/test/run-fail/meta-revision-ok.rs rename to 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 similarity index 97% rename from src/test/run-fail/mir_codegen_calls_converging_drops.rs rename to 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 similarity index 97% rename from src/test/run-fail/mir_codegen_calls_converging_drops_2.rs rename to 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 similarity index 92% rename from src/test/run-fail/mir_codegen_calls_diverging.rs rename to 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 similarity index 96% rename from src/test/run-fail/mir_codegen_calls_diverging_drops.rs rename to 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 similarity index 96% rename from src/test/run-fail/mir_drop_panics.rs rename to 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 similarity index 98% rename from src/test/run-fail/mir_dynamic_drops_1.rs rename to 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 similarity index 97% rename from src/test/run-fail/mir_dynamic_drops_2.rs rename to 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 similarity index 98% rename from src/test/run-fail/mir_dynamic_drops_3.rs rename to 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 similarity index 94% rename from src/test/run-fail/mir_indexing_oob_1.rs rename to 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 similarity index 94% rename from src/test/run-fail/mir_indexing_oob_2.rs rename to 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 similarity index 94% rename from src/test/run-fail/mir_indexing_oob_3.rs rename to 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 similarity index 95% rename from src/test/run-fail/return-never-coerce.rs rename to 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: F) -> T { diff --git a/src/test/run-fail/divide-by-zero.rs b/src/test/ui/numbers-arithmetic/divide-by-zero.rs similarity index 91% rename from src/test/run-fail/divide-by-zero.rs rename to 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 similarity index 92% rename from src/test/run-fail/mod-zero.rs rename to 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 similarity index 94% rename from src/test/run-fail/overflowing-add.rs rename to 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 similarity index 85% rename from src/test/run-fail/overflowing-lsh-4.rs rename to 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 similarity index 93% rename from src/test/run-fail/overflowing-mul.rs rename to 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 similarity index 94% rename from src/test/run-fail/overflowing-neg.rs rename to 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 similarity index 93% rename from src/test/run-fail/overflowing-pow-signed.rs rename to 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 similarity index 93% rename from src/test/run-fail/overflowing-pow-unsigned.rs rename to 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 similarity index 85% rename from src/test/run-fail/overflowing-rsh-4.rs rename to 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 similarity index 94% rename from src/test/run-fail/overflowing-sub.rs rename to 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 similarity index 92% rename from src/test/run-fail/promoted_overflow.rs rename to 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 similarity index 72% rename from src/test/run-fail/unwind-interleaved.rs rename to 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 similarity index 75% rename from src/test/run-fail/unwind-rec.rs rename to 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 { panic!(); diff --git a/src/test/run-fail/unwind-rec2.rs b/src/test/ui/panic-runtime/unwind-rec2.rs similarity index 85% rename from src/test/run-fail/unwind-rec2.rs rename to 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 { 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 similarity index 63% rename from src/test/run-fail/unwind-unique.rs rename to 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 similarity index 93% rename from src/test/run-fail/args-panic.rs rename to 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 similarity index 88% rename from src/test/run-fail/doublepanic.rs rename to 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 similarity index 93% rename from src/test/run-fail/explicit-panic-msg.rs rename to 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 similarity index 80% rename from src/test/run-fail/explicit-panic.rs rename to 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 similarity index 90% rename from src/test/run-fail/fmt-panic.rs rename to 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 similarity index 85% rename from src/test/run-fail/main-panic.rs rename to 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 similarity index 88% rename from src/test/run-fail/panic-arg.rs rename to 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 similarity index 87% rename from src/test/run-fail/panic-macro-any-wrapped.rs rename to 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' fn main() { diff --git a/src/test/run-fail/panic-macro-any.rs b/src/test/ui/panics/panic-macro-any.rs similarity index 54% rename from src/test/run-fail/panic-macro-any.rs rename to 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' #![feature(box_syntax)] fn main() { - panic!(box 413 as Box<::std::any::Any + Send>); + panic!(box 413 as Box); } diff --git a/src/test/run-fail/panic-macro-explicit.rs b/src/test/ui/panics/panic-macro-explicit.rs similarity index 86% rename from src/test/run-fail/panic-macro-explicit.rs rename to 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 similarity index 90% rename from src/test/run-fail/panic-macro-fmt.rs rename to 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 similarity index 88% rename from src/test/run-fail/panic-macro-owned.rs rename to 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 similarity index 88% rename from src/test/run-fail/panic-macro-static.rs rename to 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 similarity index 81% rename from src/test/run-fail/panic-main.rs rename to 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 similarity index 96% rename from src/test/run-fail/panic-parens.rs rename to 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 similarity index 94% rename from src/test/run-fail/panic-set-handler.rs rename to 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 similarity index 94% rename from src/test/run-fail/panic-set-unset-handler.rs rename to 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 similarity index 91% rename from src/test/run-fail/panic-take-handler-nop.rs rename to 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 similarity index 96% rename from src/test/run-fail/panic-task-name-none.rs rename to 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 '' 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 similarity index 97% rename from src/test/run-fail/panic-task-name-owned.rs rename to 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 similarity index 81% rename from src/test/run-fail/panic.rs rename to 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 similarity index 93% rename from src/test/run-fail/result-get-panic.rs rename to 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 similarity index 68% rename from src/test/run-fail/test-panic.rs rename to 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 similarity index 75% rename from src/test/run-fail/test-should-fail-bad-message.rs rename to 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 similarity index 77% rename from src/test/run-fail/test-should-panic-bad-message.rs rename to 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 similarity index 72% rename from src/test/run-fail/test-should-panic-no-message.rs rename to 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 similarity index 84% rename from src/test/run-fail/unique-panic.rs rename to 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 similarity index 92% rename from src/test/run-fail/while-body-panics.rs rename to 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 similarity index 92% rename from src/test/run-fail/while-panic.rs rename to 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 similarity index 93% rename from src/test/run-fail/tls-exit-status.rs rename to 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 similarity index 95% rename from src/test/run-fail/rfc-1937-termination-trait/termination-trait-for-box-dyn-error.rs rename to 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 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 similarity index 85% rename from src/test/run-fail/rfc-1937-termination-trait/termination-trait-for-never.rs rename to 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 similarity index 95% rename from src/test/run-fail/rfc-1937-termination-trait/termination-trait-for-result-box-error_err.rs rename to 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 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 similarity index 92% rename from src/test/run-fail/rfc-1937-termination-trait/termination-trait-for-str.rs rename to 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 similarity index 93% rename from src/test/run-fail/str-overrun.rs rename to 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 similarity index 95% rename from src/test/run-fail/rhs-type.rs rename to 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 similarity index 79% rename from src/test/run-fail/run-unexported-tests.rs rename to 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 similarity index 97% rename from src/test/run-fail/task-spawn-barefn.rs rename to 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 similarity index 95% rename from src/test/run-fail/test-tasks-invalid-value.rs rename to 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 similarity index 94% rename from src/test/run-fail/vec-overrun.rs rename to 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 = vec![10]; let x: usize = 0;