diff --git a/tests/ui/README.md b/tests/ui/README.md index 25e870fd8f188..fd77c340b6a98 100644 --- a/tests/ui/README.md +++ b/tests/ui/README.md @@ -697,12 +697,6 @@ Tests on type inference. Tests for diagnostics on infinitely recursive types without indirection. -## `tests/ui/inherent-impls-overlap-check/` - -Checks that repeating the same function names across separate `impl` blocks triggers an informative error, but not if the `impl` are for different types, such as `Bar` and `Bar`. - -NOTE: This should maybe be a subdirectory within another related to duplicate definitions, such as `tests/ui/duplicate/`. - ## `tests/ui/inline-const/` These tests revolve around the inline `const` block that forces the compiler to const-eval its content. diff --git a/tests/ui/issues/issue-34074.rs b/tests/ui/anon-params/anon-params-trait-method-multiple.rs similarity index 68% rename from tests/ui/issues/issue-34074.rs rename to tests/ui/anon-params/anon-params-trait-method-multiple.rs index d642c74d412a4..ba06aa5115ba0 100644 --- a/tests/ui/issues/issue-34074.rs +++ b/tests/ui/anon-params/anon-params-trait-method-multiple.rs @@ -1,3 +1,4 @@ +//! regression test for //@ edition: 2015 //@ check-pass // Make sure several unnamed function parameters don't conflict with each other @@ -7,5 +8,4 @@ trait Tr { fn f(u8, u8) {} } -fn main() { -} +fn main() {} diff --git a/tests/ui/autoref-autoderef/autoderef-arc-boxed-closure-call.rs b/tests/ui/autoref-autoderef/autoderef-arc-boxed-closure-call.rs new file mode 100644 index 0000000000000..fb7a8ee103e13 --- /dev/null +++ b/tests/ui/autoref-autoderef/autoderef-arc-boxed-closure-call.rs @@ -0,0 +1,10 @@ +//! regression test for +//@ run-pass + +use std::sync::Arc; + +fn main() { + let x = 5; + let command = Arc::new(Box::new(|| x * 2)); + assert_eq!(command(), 10); +} diff --git a/tests/ui/consts/const-closure-fn-trait-object.rs b/tests/ui/consts/const-closure-fn-trait-object.rs new file mode 100644 index 0000000000000..e47a118dd3f45 --- /dev/null +++ b/tests/ui/consts/const-closure-fn-trait-object.rs @@ -0,0 +1,5 @@ +//! regression test for +//@ run-pass +fn main() { + const _C: &'static dyn Fn() = &|| {}; +} diff --git a/tests/ui/inherent-impls-overlap-check/auxiliary/repeat.rs b/tests/ui/duplicate/inherent-impls-overlap-check/auxiliary/repeat.rs similarity index 100% rename from tests/ui/inherent-impls-overlap-check/auxiliary/repeat.rs rename to tests/ui/duplicate/inherent-impls-overlap-check/auxiliary/repeat.rs diff --git a/tests/ui/issues/issue-19097.rs b/tests/ui/duplicate/inherent-impls-overlap-check/disjoint-ref-mut-method.rs similarity index 69% rename from tests/ui/issues/issue-19097.rs rename to tests/ui/duplicate/inherent-impls-overlap-check/disjoint-ref-mut-method.rs index a329ba6f073e2..d4594b2e2c951 100644 --- a/tests/ui/issues/issue-19097.rs +++ b/tests/ui/duplicate/inherent-impls-overlap-check/disjoint-ref-mut-method.rs @@ -1,6 +1,6 @@ +//! regression test for //@ check-pass #![allow(dead_code)] -// regression test for #19097 struct Foo(T); diff --git a/tests/ui/inherent-impls-overlap-check/no-overlap.rs b/tests/ui/duplicate/inherent-impls-overlap-check/no-overlap.rs similarity index 100% rename from tests/ui/inherent-impls-overlap-check/no-overlap.rs rename to tests/ui/duplicate/inherent-impls-overlap-check/no-overlap.rs diff --git a/tests/ui/inherent-impls-overlap-check/overlap.rs b/tests/ui/duplicate/inherent-impls-overlap-check/overlap.rs similarity index 100% rename from tests/ui/inherent-impls-overlap-check/overlap.rs rename to tests/ui/duplicate/inherent-impls-overlap-check/overlap.rs diff --git a/tests/ui/inherent-impls-overlap-check/overlap.stderr b/tests/ui/duplicate/inherent-impls-overlap-check/overlap.stderr similarity index 100% rename from tests/ui/inherent-impls-overlap-check/overlap.stderr rename to tests/ui/duplicate/inherent-impls-overlap-check/overlap.stderr diff --git a/tests/ui/issues/issue-24161.rs b/tests/ui/extern/extern-fn-pointer-clone-copy.rs similarity index 54% rename from tests/ui/issues/issue-24161.rs rename to tests/ui/extern/extern-fn-pointer-clone-copy.rs index 974add4386165..a67e0d1d703ac 100644 --- a/tests/ui/issues/issue-24161.rs +++ b/tests/ui/extern/extern-fn-pointer-clone-copy.rs @@ -1,11 +1,12 @@ +//! regression test for //@ check-pass #![allow(dead_code)] -#[derive(Copy,Clone)] +#[derive(Copy, Clone)] struct Functions { a: fn(u32) -> u32, b: extern "C" fn(u32) -> u32, c: unsafe fn(u32) -> u32, - d: unsafe extern "C" fn(u32) -> u32 + d: unsafe extern "C" fn(u32) -> u32, } pub fn main() {} diff --git a/tests/ui/issues/issue-23036.rs b/tests/ui/hashmap/hashmap-path-key.rs similarity index 71% rename from tests/ui/issues/issue-23036.rs rename to tests/ui/hashmap/hashmap-path-key.rs index 5186fccd042b2..0551ba7ea8ee9 100644 --- a/tests/ui/issues/issue-23036.rs +++ b/tests/ui/hashmap/hashmap-path-key.rs @@ -1,3 +1,4 @@ +//! regression test for //@ run-pass use std::collections::HashMap; diff --git a/tests/ui/inference/inference-thread-loop-closure.rs b/tests/ui/inference/inference-thread-loop-closure.rs new file mode 100644 index 0000000000000..78b1b145367e8 --- /dev/null +++ b/tests/ui/inference/inference-thread-loop-closure.rs @@ -0,0 +1,16 @@ +//! regression test for +//@ check-pass +#![allow(unused_must_use)] +use std::thread; + +fn _foo() { + thread::spawn(move || { + // no need for -> () + loop { + println!("hello"); + } + }) + .join(); +} + +fn main() {} diff --git a/tests/ui/issues/issue-20454.rs b/tests/ui/issues/issue-20454.rs deleted file mode 100644 index e56f2ffa371a3..0000000000000 --- a/tests/ui/issues/issue-20454.rs +++ /dev/null @@ -1,13 +0,0 @@ -//@ check-pass -#![allow(unused_must_use)] -use std::thread; - -fn _foo() { - thread::spawn(move || { // no need for -> () - loop { - println!("hello"); - } - }).join(); -} - -fn main() {} diff --git a/tests/ui/issues/issue-21306.rs b/tests/ui/issues/issue-21306.rs deleted file mode 100644 index bf42e70a5bc04..0000000000000 --- a/tests/ui/issues/issue-21306.rs +++ /dev/null @@ -1,9 +0,0 @@ -//@ run-pass - -use std::sync::Arc; - -fn main() { - let x = 5; - let command = Arc::new(Box::new(|| { x*2 })); - assert_eq!(command(), 10); -} diff --git a/tests/ui/issues/issue-21891.rs b/tests/ui/issues/issue-21891.rs deleted file mode 100644 index 0da6071cdac4b..0000000000000 --- a/tests/ui/issues/issue-21891.rs +++ /dev/null @@ -1,11 +0,0 @@ -//@ build-pass -#![allow(dead_code)] -#![allow(non_upper_case_globals)] - - -static foo: [usize; 3] = [1, 2, 3]; - -static slice_1: &'static [usize] = &foo; -static slice_2: &'static [usize] = &foo; - -fn main() {} diff --git a/tests/ui/issues/issue-27268.rs b/tests/ui/issues/issue-27268.rs deleted file mode 100644 index e8704d215e888..0000000000000 --- a/tests/ui/issues/issue-27268.rs +++ /dev/null @@ -1,4 +0,0 @@ -//@ run-pass -fn main() { - const _C: &'static dyn Fn() = &||{}; -} diff --git a/tests/ui/issues/issue-50471.rs b/tests/ui/issues/issue-50471.rs deleted file mode 100644 index 1d8bad20377c7..0000000000000 --- a/tests/ui/issues/issue-50471.rs +++ /dev/null @@ -1,9 +0,0 @@ -//@ check-pass - -fn main() { - assert!({false}); - - assert!(r"\u{41}" == "A"); - - assert!(r"\u{".is_empty()); -} diff --git a/tests/ui/issues/issue-29540.rs b/tests/ui/limits/limit-huge-struct-derive-debug.rs similarity index 99% rename from tests/ui/issues/issue-29540.rs rename to tests/ui/limits/limit-huge-struct-derive-debug.rs index 6bfeae8559dc9..eb793aadd8c65 100644 --- a/tests/ui/issues/issue-29540.rs +++ b/tests/ui/limits/limit-huge-struct-derive-debug.rs @@ -1,3 +1,4 @@ +//! regression test for //@ build-pass #[derive(Debug)] pub struct Config { diff --git a/tests/ui/issues/issue-26646.rs b/tests/ui/lint/unused/unused-attr-repr-packed-c-order.rs similarity index 60% rename from tests/ui/issues/issue-26646.rs rename to tests/ui/lint/unused/unused-attr-repr-packed-c-order.rs index b1789b1a91fc2..a9da3e4175bdf 100644 --- a/tests/ui/issues/issue-26646.rs +++ b/tests/ui/lint/unused/unused-attr-repr-packed-c-order.rs @@ -1,3 +1,4 @@ +//! regression test for //@ check-pass #![deny(unused_attributes)] @@ -9,4 +10,4 @@ pub struct Foo; #[repr(C)] pub struct Bar; -fn main() { } +fn main() {} diff --git a/tests/ui/issues/issue-37686.rs b/tests/ui/match/match-usize-min-max-pattern.rs similarity index 59% rename from tests/ui/issues/issue-37686.rs rename to tests/ui/match/match-usize-min-max-pattern.rs index 5a72f2fc74c2d..6a801406895d3 100644 --- a/tests/ui/issues/issue-37686.rs +++ b/tests/ui/match/match-usize-min-max-pattern.rs @@ -1,3 +1,4 @@ +//! regression test for //@ run-pass fn main() { match (0, 0) { diff --git a/tests/ui/issues/issue-38987.rs b/tests/ui/numbers-arithmetic/i128-min-literal-parses.rs similarity index 54% rename from tests/ui/issues/issue-38987.rs rename to tests/ui/numbers-arithmetic/i128-min-literal-parses.rs index 713fd5027918f..623a8a92ae62b 100644 --- a/tests/ui/issues/issue-38987.rs +++ b/tests/ui/numbers-arithmetic/i128-min-literal-parses.rs @@ -1,3 +1,4 @@ +//! regression test for //@ run-pass fn main() { let _ = -0x8000_0000_0000_0000_0000_0000_0000_0000i128; diff --git a/tests/ui/issues/issue-18352.rs b/tests/ui/pattern/const-pattern-str-match-lifetime.rs similarity index 65% rename from tests/ui/issues/issue-18352.rs rename to tests/ui/pattern/const-pattern-str-match-lifetime.rs index 8b6aa82ea8c0c..8814d55c63b6f 100644 --- a/tests/ui/issues/issue-18352.rs +++ b/tests/ui/pattern/const-pattern-str-match-lifetime.rs @@ -1,3 +1,4 @@ +//! regression test for //@ run-pass const X: &'static str = "12345"; @@ -5,7 +6,7 @@ const X: &'static str = "12345"; fn test(s: String) -> bool { match &*s { X => true, - _ => false + _ => false, } } diff --git a/tests/ui/static/static-array-shared-slice-references.rs b/tests/ui/static/static-array-shared-slice-references.rs new file mode 100644 index 0000000000000..a2ef169e2a290 --- /dev/null +++ b/tests/ui/static/static-array-shared-slice-references.rs @@ -0,0 +1,10 @@ +//! regression test for +//@ build-pass +#![allow(dead_code)] + +static FOO: [usize; 3] = [1, 2, 3]; + +static SLICE_1: &'static [usize] = &FOO; +static SLICE_2: &'static [usize] = &FOO; + +fn main() {} diff --git a/tests/ui/str/raw-string-literal-unescaped-unicode.rs b/tests/ui/str/raw-string-literal-unescaped-unicode.rs new file mode 100644 index 0000000000000..c0dc0743a28f7 --- /dev/null +++ b/tests/ui/str/raw-string-literal-unescaped-unicode.rs @@ -0,0 +1,10 @@ +//! regression test for +//@ check-pass + +fn main() { + assert!({ false }); + + assert!(r"\u{41}" == "A"); + + assert!(r"\u{".is_empty()); +}