about summary refs log tree commit diff
path: root/src/test/ui/issues
diff options
context:
space:
mode:
authorCaio <c410.f3r@gmail.com>2021-01-16 15:54:05 -0300
committerCaio <c410.f3r@gmail.com>2021-01-16 19:46:54 -0300
commitad35979c50366d6b0fbcda99215f1c4e926e5dab (patch)
tree8bc4fd6168831ee45cf114456cc70d4cf49266d8 /src/test/ui/issues
parent63a83c5f55801b17b77adf690db397d17c706c48 (diff)
Move some tests to more reasonable directories - 2
Address comments

Update limits
Diffstat (limited to 'src/test/ui/issues')
-rw-r--r--src/test/ui/issues/auxiliary/issue-21146-inc.rs3
-rw-r--r--src/test/ui/issues/auxiliary/issue-40469.rs1
-rw-r--r--src/test/ui/issues/issue-12470.rs34
-rw-r--r--src/test/ui/issues/issue-12470.stderr11
-rw-r--r--src/test/ui/issues/issue-12582.rs21
-rw-r--r--src/test/ui/issues/issue-14221.rs21
-rw-r--r--src/test/ui/issues/issue-14221.stderr32
-rw-r--r--src/test/ui/issues/issue-14936.rs48
-rw-r--r--src/test/ui/issues/issue-15730.rs9
-rw-r--r--src/test/ui/issues/issue-15881-model-lexer-dotdotdot.rs38
-rw-r--r--src/test/ui/issues/issue-17263.rs25
-rw-r--r--src/test/ui/issues/issue-17545.rs10
-rw-r--r--src/test/ui/issues/issue-17545.stderr16
-rw-r--r--src/test/ui/issues/issue-17718-borrow-interior.rs19
-rw-r--r--src/test/ui/issues/issue-17718-const-bad-values.rs10
-rw-r--r--src/test/ui/issues/issue-17718-const-bad-values.stderr32
-rw-r--r--src/test/ui/issues/issue-17718-const-borrow.rs14
-rw-r--r--src/test/ui/issues/issue-17718-const-borrow.stderr21
-rw-r--r--src/test/ui/issues/issue-17718-const-naming.rs8
-rw-r--r--src/test/ui/issues/issue-17718-const-naming.stderr28
-rw-r--r--src/test/ui/issues/issue-20616-1.rs36
-rw-r--r--src/test/ui/issues/issue-20616-1.stderr8
-rw-r--r--src/test/ui/issues/issue-20616-2.rs36
-rw-r--r--src/test/ui/issues/issue-20616-2.stderr8
-rw-r--r--src/test/ui/issues/issue-20801.rs37
-rw-r--r--src/test/ui/issues/issue-20801.stderr39
-rw-r--r--src/test/ui/issues/issue-21146.rs3
-rw-r--r--src/test/ui/issues/issue-21146.stderr8
-rw-r--r--src/test/ui/issues/issue-21562.rs19
-rw-r--r--src/test/ui/issues/issue-21721.rs9
-rw-r--r--src/test/ui/issues/issue-22546.rs52
-rw-r--r--src/test/ui/issues/issue-24085.rs19
-rw-r--r--src/test/ui/issues/issue-24267-flow-exit.rs19
-rw-r--r--src/test/ui/issues/issue-24267-flow-exit.stderr15
-rw-r--r--src/test/ui/issues/issue-24338.rs21
-rw-r--r--src/test/ui/issues/issue-25793.rs26
-rw-r--r--src/test/ui/issues/issue-25793.stderr18
-rw-r--r--src/test/ui/issues/issue-25916.rs28
-rw-r--r--src/test/ui/issues/issue-26322.rs30
-rw-r--r--src/test/ui/issues/issue-26873-onefile.rs25
-rw-r--r--src/test/ui/issues/issue-2718.rs327
-rw-r--r--src/test/ui/issues/issue-27282-move-match-input-into-guard.rs20
-rw-r--r--src/test/ui/issues/issue-27282-move-match-input-into-guard.stderr17
-rw-r--r--src/test/ui/issues/issue-27282-mutate-before-diverging-arm-2.rs40
-rw-r--r--src/test/ui/issues/issue-27282-mutate-before-diverging-arm-2.stderr14
-rw-r--r--src/test/ui/issues/issue-27282-reborrow-ref-mut-in-guard.rs18
-rw-r--r--src/test/ui/issues/issue-27282-reborrow-ref-mut-in-guard.stderr13
-rw-r--r--src/test/ui/issues/issue-27890.rs7
-rw-r--r--src/test/ui/issues/issue-28113.rs8
-rw-r--r--src/test/ui/issues/issue-28113.stderr9
-rw-r--r--src/test/ui/issues/issue-28498-ugeh-with-lifetime-param.rs38
-rw-r--r--src/test/ui/issues/issue-28498-ugeh-with-trait-bound.rs41
-rw-r--r--src/test/ui/issues/issue-28676.rs40
-rw-r--r--src/test/ui/issues/issue-28837.rs35
-rw-r--r--src/test/ui/issues/issue-28837.stderr153
-rw-r--r--src/test/ui/issues/issue-28848.nll.stderr14
-rw-r--r--src/test/ui/issues/issue-28848.rs13
-rw-r--r--src/test/ui/issues/issue-28848.stderr20
-rw-r--r--src/test/ui/issues/issue-29161.rs15
-rw-r--r--src/test/ui/issues/issue-29161.stderr22
-rw-r--r--src/test/ui/issues/issue-2936.rs31
-rw-r--r--src/test/ui/issues/issue-29844.rs24
-rw-r--r--src/test/ui/issues/issue-29914-2.rs6
-rw-r--r--src/test/ui/issues/issue-29914-3.rs7
-rw-r--r--src/test/ui/issues/issue-29914.rs10
-rw-r--r--src/test/ui/issues/issue-29927-1.rs11
-rw-r--r--src/test/ui/issues/issue-29927.rs11
-rw-r--r--src/test/ui/issues/issue-30018-nopanic.rs103
-rw-r--r--src/test/ui/issues/issue-30079.rs39
-rw-r--r--src/test/ui/issues/issue-30079.stderr31
-rw-r--r--src/test/ui/issues/issue-30302.rs20
-rw-r--r--src/test/ui/issues/issue-30302.stderr26
-rw-r--r--src/test/ui/issues/issue-32119.rs17
-rw-r--r--src/test/ui/issues/issue-32222.rs22
-rw-r--r--src/test/ui/issues/issue-32829-2.rs73
-rw-r--r--src/test/ui/issues/issue-32829-2.stderr21
-rw-r--r--src/test/ui/issues/issue-34222-1.rs3
-rw-r--r--src/test/ui/issues/issue-34222-1.stderr11
-rw-r--r--src/test/ui/issues/issue-34798.rs25
-rw-r--r--src/test/ui/issues/issue-36163.rs7
-rw-r--r--src/test/ui/issues/issue-36163.stderr49
-rw-r--r--src/test/ui/issues/issue-38940.rs46
-rw-r--r--src/test/ui/issues/issue-38940.stderr23
-rw-r--r--src/test/ui/issues/issue-40469.rs9
-rw-r--r--src/test/ui/issues/issue-41803.rs21
-rw-r--r--src/test/ui/issues/issue-43105.rs13
-rw-r--r--src/test/ui/issues/issue-43105.stderr21
-rw-r--r--src/test/ui/issues/issue-43196.rs6
-rw-r--r--src/test/ui/issues/issue-43196.stderr16
-rw-r--r--src/test/ui/issues/issue-43398.rs14
-rw-r--r--src/test/ui/issues/issue-43398.stderr11
-rw-r--r--src/test/ui/issues/issue-44021.rs6
-rw-r--r--src/test/ui/issues/issue-44021.stderr8
-rw-r--r--src/test/ui/issues/issue-45087-unreachable-unsafe.rs5
-rw-r--r--src/test/ui/issues/issue-45087-unreachable-unsafe.stderr11
-rw-r--r--src/test/ui/issues/issue-45199.rs24
-rw-r--r--src/test/ui/issues/issue-45199.stderr35
-rw-r--r--src/test/ui/issues/issue-45296.rs5
-rw-r--r--src/test/ui/issues/issue-45296.stderr10
-rw-r--r--src/test/ui/issues/issue-45696-long-live-borrows-in-boxes.rs114
-rw-r--r--src/test/ui/issues/issue-46186.fixed8
-rw-r--r--src/test/ui/issues/issue-46186.rs8
-rw-r--r--src/test/ui/issues/issue-46186.stderr10
-rw-r--r--src/test/ui/issues/issue-46471.rs7
-rw-r--r--src/test/ui/issues/issue-46471.stderr9
-rw-r--r--src/test/ui/issues/issue-47789.rs10
-rw-r--r--src/test/ui/issues/issue-48551.rs34
-rw-r--r--src/test/ui/issues/issue-50301.rs32
-rw-r--r--src/test/ui/issues/issue-5060.rs16
-rw-r--r--src/test/ui/issues/issue-51345-2.rs8
-rw-r--r--src/test/ui/issues/issue-51602.rs6
-rw-r--r--src/test/ui/issues/issue-51602.stderr10
-rw-r--r--src/test/ui/issues/issue-51770.rs20
-rw-r--r--src/test/ui/issues/issue-52023-array-size-pointer-cast.rs3
-rw-r--r--src/test/ui/issues/issue-52023-array-size-pointer-cast.stderr12
-rw-r--r--src/test/ui/issues/issue-5243.rs17
-rw-r--r--src/test/ui/issues/issue-52496.rs12
-rw-r--r--src/test/ui/issues/issue-52496.stderr37
-rw-r--r--src/test/ui/issues/issue-54943-3.rs20
-rw-r--r--src/test/ui/issues/issue-55511.rs19
-rw-r--r--src/test/ui/issues/issue-55511.stderr15
-rw-r--r--src/test/ui/issues/issue-58435-ice-with-assoc-const.rs18
-rw-r--r--src/test/ui/issues/issue-58856-2.rs14
-rw-r--r--src/test/ui/issues/issue-58856-2.stderr34
-rw-r--r--src/test/ui/issues/issue-60075.rs11
-rw-r--r--src/test/ui/issues/issue-60075.stderr29
-rw-r--r--src/test/ui/issues/issue-62554.rs6
-rw-r--r--src/test/ui/issues/issue-62554.stderr71
-rw-r--r--src/test/ui/issues/issue-6334.rs46
-rw-r--r--src/test/ui/issues/issue-6449.rs44
-rw-r--r--src/test/ui/issues/issue-65673.rs12
-rw-r--r--src/test/ui/issues/issue-65673.stderr14
-rw-r--r--src/test/ui/issues/issue-66473.rsbin127 -> 0 bytes
-rw-r--r--src/test/ui/issues/issue-66473.stderrbin2660 -> 0 bytes
-rw-r--r--src/test/ui/issues/issue-66851.rs20
-rw-r--r--src/test/ui/issues/issue-67037-pat-tup-scrut-ty-diff-less-fields.rs21
-rw-r--r--src/test/ui/issues/issue-67037-pat-tup-scrut-ty-diff-less-fields.stderr33
-rw-r--r--src/test/ui/issues/issue-6991.rs8
-rw-r--r--src/test/ui/issues/issue-72253.rs6
-rw-r--r--src/test/ui/issues/issue-72253.stderr10
-rw-r--r--src/test/ui/issues/issue-72373.rs9
-rw-r--r--src/test/ui/issues/issue-72373.stderr13
-rw-r--r--src/test/ui/issues/issue-73899.rs21
-rw-r--r--src/test/ui/issues/issue-75599.rs24
-rw-r--r--src/test/ui/issues/issue-75763.rs16
-rw-r--r--src/test/ui/issues/issue-76547.nll.stderr20
-rw-r--r--src/test/ui/issues/issue-76547.rs38
-rw-r--r--src/test/ui/issues/issue-76547.stderr25
-rw-r--r--src/test/ui/issues/issue-8460-const.noopt.stderr150
-rw-r--r--src/test/ui/issues/issue-8460-const.opt.stderr150
-rw-r--r--src/test/ui/issues/issue-8460-const.opt_with_overflow_checks.stderr150
-rw-r--r--src/test/ui/issues/issue-8460-const.rs61
-rw-r--r--src/test/ui/issues/issue-8460.rs51
-rw-r--r--src/test/ui/issues/issue-9394-inherited-trait-calls.rs62
154 files changed, 0 insertions, 4166 deletions
diff --git a/src/test/ui/issues/auxiliary/issue-21146-inc.rs b/src/test/ui/issues/auxiliary/issue-21146-inc.rs
deleted file mode 100644
index 32a3b9dcc35..00000000000
--- a/src/test/ui/issues/auxiliary/issue-21146-inc.rs
+++ /dev/null
@@ -1,3 +0,0 @@
-// include file for issue-21146.rs
-
-parse_error
diff --git a/src/test/ui/issues/auxiliary/issue-40469.rs b/src/test/ui/issues/auxiliary/issue-40469.rs
deleted file mode 100644
index 4f2f41f2cde..00000000000
--- a/src/test/ui/issues/auxiliary/issue-40469.rs
+++ /dev/null
@@ -1 +0,0 @@
-macro_rules! m { () => { $crate::main(); } }
diff --git a/src/test/ui/issues/issue-12470.rs b/src/test/ui/issues/issue-12470.rs
deleted file mode 100644
index 0ade359923a..00000000000
--- a/src/test/ui/issues/issue-12470.rs
+++ /dev/null
@@ -1,34 +0,0 @@
-#![feature(box_syntax)]
-
-trait X {
-    fn get_i(&self) -> isize;
-}
-
-
-struct B {
-    i: isize
-}
-
-impl X for B {
-    fn get_i(&self) -> isize {
-        self.i
-    }
-}
-
-struct A<'a> {
-    p: &'a (dyn X + 'a)
-}
-
-fn make_a<'a>(p: &'a dyn X) -> A<'a> {
-    A { p: p }
-}
-
-fn make_make_a<'a>() -> A<'a> {
-    let b: Box<B> = box B {i:1};
-    let bb: &B = &*b;
-    make_a(bb)  //~ ERROR cannot return value referencing local data `*b`
-}
-
-fn main() {
-    let _a = make_make_a();
-}
diff --git a/src/test/ui/issues/issue-12470.stderr b/src/test/ui/issues/issue-12470.stderr
deleted file mode 100644
index c97e59195ed..00000000000
--- a/src/test/ui/issues/issue-12470.stderr
+++ /dev/null
@@ -1,11 +0,0 @@
-error[E0515]: cannot return value referencing local data `*b`
-  --> $DIR/issue-12470.rs:29:5
-   |
-LL |     let bb: &B = &*b;
-   |                  --- `*b` is borrowed here
-LL |     make_a(bb)
-   |     ^^^^^^^^^^ returns a value referencing data owned by the current function
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0515`.
diff --git a/src/test/ui/issues/issue-12582.rs b/src/test/ui/issues/issue-12582.rs
deleted file mode 100644
index f3366704e63..00000000000
--- a/src/test/ui/issues/issue-12582.rs
+++ /dev/null
@@ -1,21 +0,0 @@
-// run-pass
-
-pub fn main() {
-    let x = 1;
-    let y = 2;
-
-    assert_eq!(3, match (x, y) {
-        (1, 1) => 1,
-        (2, 2) => 2,
-        (1..=2, 2) => 3,
-        _ => 4,
-    });
-
-    // nested tuple
-    assert_eq!(3, match ((x, y),) {
-        ((1, 1),) => 1,
-        ((2, 2),) => 2,
-        ((1..=2, 2),) => 3,
-        _ => 4,
-    });
-}
diff --git a/src/test/ui/issues/issue-14221.rs b/src/test/ui/issues/issue-14221.rs
deleted file mode 100644
index 282c4111369..00000000000
--- a/src/test/ui/issues/issue-14221.rs
+++ /dev/null
@@ -1,21 +0,0 @@
-#![deny(unreachable_patterns)]
-#![allow(unused_variables)]
-#![allow(non_snake_case)]
-
-pub enum E {
-    A,
-    B,
-}
-
-pub mod b {
-    pub fn key(e: ::E) -> &'static str {
-        match e {
-            A => "A",
-//~^ WARN pattern binding `A` is named the same as one of the variants of the type `E`
-            B => "B", //~ ERROR: unreachable pattern
-//~^ WARN pattern binding `B` is named the same as one of the variants of the type `E`
-        }
-    }
-}
-
-fn main() {}
diff --git a/src/test/ui/issues/issue-14221.stderr b/src/test/ui/issues/issue-14221.stderr
deleted file mode 100644
index fc8ae1ed7b5..00000000000
--- a/src/test/ui/issues/issue-14221.stderr
+++ /dev/null
@@ -1,32 +0,0 @@
-warning[E0170]: pattern binding `A` is named the same as one of the variants of the type `E`
-  --> $DIR/issue-14221.rs:13:13
-   |
-LL |             A => "A",
-   |             ^ help: to match on the variant, qualify the path: `E::A`
-   |
-   = note: `#[warn(bindings_with_variant_name)]` on by default
-
-warning[E0170]: pattern binding `B` is named the same as one of the variants of the type `E`
-  --> $DIR/issue-14221.rs:15:13
-   |
-LL |             B => "B",
-   |             ^ help: to match on the variant, qualify the path: `E::B`
-
-error: unreachable pattern
-  --> $DIR/issue-14221.rs:15:13
-   |
-LL |             A => "A",
-   |             - matches any value
-LL |
-LL |             B => "B",
-   |             ^ unreachable pattern
-   |
-note: the lint level is defined here
-  --> $DIR/issue-14221.rs:1:9
-   |
-LL | #![deny(unreachable_patterns)]
-   |         ^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error; 2 warnings emitted
-
-For more information about this error, try `rustc --explain E0170`.
diff --git a/src/test/ui/issues/issue-14936.rs b/src/test/ui/issues/issue-14936.rs
deleted file mode 100644
index 02095a2f7e4..00000000000
--- a/src/test/ui/issues/issue-14936.rs
+++ /dev/null
@@ -1,48 +0,0 @@
-// build-pass
-#![allow(unused_macros)]
-#![allow(dead_code)]
-#![feature(llvm_asm)]
-
-type History = Vec<&'static str>;
-
-fn wrap<A>(x:A, which: &'static str, history: &mut History) -> A {
-    history.push(which);
-    x
-}
-
-macro_rules! demo {
-    ( $output_constraint:tt ) => {
-        {
-            let mut x: isize = 0;
-            let y: isize = 1;
-
-            let mut history: History = vec![];
-            unsafe {
-                llvm_asm!("mov ($1), $0"
-                          : $output_constraint (*wrap(&mut x, "out", &mut history))
-                          : "r"(&wrap(y, "in", &mut history))
-                          :: "volatile");
-            }
-            assert_eq!((x,y), (1,1));
-            let b: &[_] = &["out", "in"];
-            assert_eq!(history, b);
-        }
-    }
-}
-
-#[cfg(any(target_arch = "x86", target_arch = "x86_64"))]
-fn main() {
-    fn out_write_only_expr_then_in_expr() {
-        demo!("=r")
-    }
-
-    fn out_read_write_expr_then_in_expr() {
-        demo!("+r")
-    }
-
-    out_write_only_expr_then_in_expr();
-    out_read_write_expr_then_in_expr();
-}
-
-#[cfg(all(not(target_arch = "x86"), not(target_arch = "x86_64")))]
-pub fn main() {}
diff --git a/src/test/ui/issues/issue-15730.rs b/src/test/ui/issues/issue-15730.rs
deleted file mode 100644
index dacffd154fc..00000000000
--- a/src/test/ui/issues/issue-15730.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// run-pass
-#![allow(unused_mut)]
-#![allow(unused_variables)]
-// pretty-expanded FIXME #23616
-
-fn main() {
-    let mut array = [1, 2, 3];
-    let pie_slice = &array[1..2];
-}
diff --git a/src/test/ui/issues/issue-15881-model-lexer-dotdotdot.rs b/src/test/ui/issues/issue-15881-model-lexer-dotdotdot.rs
deleted file mode 100644
index dee7f25d7bb..00000000000
--- a/src/test/ui/issues/issue-15881-model-lexer-dotdotdot.rs
+++ /dev/null
@@ -1,38 +0,0 @@
-// run-pass
-#![allow(illegal_floating_point_literal_pattern)] // FIXME #41620
-#![allow(ellipsis_inclusive_range_patterns)]
-
-// regression test for the model lexer handling the DOTDOTDOT syntax (#15877)
-
-
-pub fn main() {
-    match 5_usize {
-      1_usize...5_usize => {}
-      _ => panic!("should match range"),
-    }
-    match 5_usize {
-      6_usize...7_usize => panic!("shouldn't match range"),
-      _ => {}
-    }
-    match 5_usize {
-      1_usize => panic!("should match non-first range"),
-      2_usize...6_usize => {}
-      _ => panic!("math is broken")
-    }
-    match 'c' {
-      'a'...'z' => {}
-      _ => panic!("should support char ranges")
-    }
-    match -3_isize {
-      -7...5 => {}
-      _ => panic!("should match signed range")
-    }
-    match 3.0f64 {
-      1.0...5.0 => {}
-      _ => panic!("should match float range")
-    }
-    match -1.5f64 {
-      -3.6...3.6 => {}
-      _ => panic!("should match negative float range")
-    }
-}
diff --git a/src/test/ui/issues/issue-17263.rs b/src/test/ui/issues/issue-17263.rs
deleted file mode 100644
index 7e9ff685482..00000000000
--- a/src/test/ui/issues/issue-17263.rs
+++ /dev/null
@@ -1,25 +0,0 @@
-// check-pass
-
-#![feature(box_syntax)]
-
-struct Foo { a: isize, b: isize }
-
-fn main() {
-    let mut x: Box<_> = box Foo { a: 1, b: 2 };
-    let (a, b) = (&mut x.a, &mut x.b);
-
-    let mut foo: Box<_> = box Foo { a: 1, b: 2 };
-    let (c, d) = (&mut foo.a, &foo.b);
-
-    // We explicitly use the references created above to illustrate that the
-    // borrow checker is accepting this code *not* because of artificially
-    // short lifetimes, but rather because it understands that all the
-    // references are of disjoint parts of memory.
-    use_imm(d);
-    use_mut(c);
-    use_mut(b);
-    use_mut(a);
-}
-
-fn use_mut<T>(_: &mut T) { }
-fn use_imm<T>(_: &T) { }
diff --git a/src/test/ui/issues/issue-17545.rs b/src/test/ui/issues/issue-17545.rs
deleted file mode 100644
index ced6fff315f..00000000000
--- a/src/test/ui/issues/issue-17545.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-#![feature(fn_traits)]
-
-fn id<T>(x: T) -> T { x }
-
-pub fn foo<'a, F: Fn(&'a ())>(bar: F) {
-    bar.call((
-        &id(()), //~ ERROR temporary value dropped while borrowed
-    ));
-}
-fn main() {}
diff --git a/src/test/ui/issues/issue-17545.stderr b/src/test/ui/issues/issue-17545.stderr
deleted file mode 100644
index 79a1e09bd7c..00000000000
--- a/src/test/ui/issues/issue-17545.stderr
+++ /dev/null
@@ -1,16 +0,0 @@
-error[E0716]: temporary value dropped while borrowed
-  --> $DIR/issue-17545.rs:7:10
-   |
-LL |   pub fn foo<'a, F: Fn(&'a ())>(bar: F) {
-   |              -- lifetime `'a` defined here
-LL | /     bar.call((
-LL | |         &id(()),
-   | |          ^^^^^^ creates a temporary which is freed while still in use
-LL | |     ));
-   | |      -- temporary value is freed at the end of this statement
-   | |______|
-   |        argument requires that borrow lasts for `'a`
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0716`.
diff --git a/src/test/ui/issues/issue-17718-borrow-interior.rs b/src/test/ui/issues/issue-17718-borrow-interior.rs
deleted file mode 100644
index 5861f218689..00000000000
--- a/src/test/ui/issues/issue-17718-borrow-interior.rs
+++ /dev/null
@@ -1,19 +0,0 @@
-// run-pass
-#![allow(dead_code)]
-struct S { a: usize }
-
-static A: S = S { a: 3 };
-static B: &'static usize = &A.a;
-static C: &'static usize = &(A.a);
-
-static D: [usize; 1] = [1];
-static E: usize = D[0];
-static F: &'static usize = &D[0];
-
-fn main() {
-    assert_eq!(*B, A.a);
-    assert_eq!(*B, A.a);
-
-    assert_eq!(E, D[0]);
-    assert_eq!(*F, D[0]);
-}
diff --git a/src/test/ui/issues/issue-17718-const-bad-values.rs b/src/test/ui/issues/issue-17718-const-bad-values.rs
deleted file mode 100644
index 49023f18ddb..00000000000
--- a/src/test/ui/issues/issue-17718-const-bad-values.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-const C1: &'static mut [usize] = &mut [];
-//~^ ERROR: mutable references are not allowed in constants
-
-static mut S: usize = 3;
-const C2: &'static mut usize = unsafe { &mut S };
-//~^ ERROR: constants cannot refer to statics
-//~| ERROR: constants cannot refer to statics
-//~| ERROR: mutable references are not allowed in constants
-
-fn main() {}
diff --git a/src/test/ui/issues/issue-17718-const-bad-values.stderr b/src/test/ui/issues/issue-17718-const-bad-values.stderr
deleted file mode 100644
index 7c50978d4eb..00000000000
--- a/src/test/ui/issues/issue-17718-const-bad-values.stderr
+++ /dev/null
@@ -1,32 +0,0 @@
-error[E0764]: mutable references are not allowed in constants
-  --> $DIR/issue-17718-const-bad-values.rs:1:34
-   |
-LL | const C1: &'static mut [usize] = &mut [];
-   |                                  ^^^^^^^ `&mut` is only allowed in `const fn`
-
-error[E0013]: constants cannot refer to statics
-  --> $DIR/issue-17718-const-bad-values.rs:5:46
-   |
-LL | const C2: &'static mut usize = unsafe { &mut S };
-   |                                              ^
-   |
-   = help: consider extracting the value of the `static` to a `const`, and referring to that
-
-error[E0013]: constants cannot refer to statics
-  --> $DIR/issue-17718-const-bad-values.rs:5:46
-   |
-LL | const C2: &'static mut usize = unsafe { &mut S };
-   |                                              ^
-   |
-   = help: consider extracting the value of the `static` to a `const`, and referring to that
-
-error[E0764]: mutable references are not allowed in constants
-  --> $DIR/issue-17718-const-bad-values.rs:5:41
-   |
-LL | const C2: &'static mut usize = unsafe { &mut S };
-   |                                         ^^^^^^ `&mut` is only allowed in `const fn`
-
-error: aborting due to 4 previous errors
-
-Some errors have detailed explanations: E0013, E0764.
-For more information about an error, try `rustc --explain E0013`.
diff --git a/src/test/ui/issues/issue-17718-const-borrow.rs b/src/test/ui/issues/issue-17718-const-borrow.rs
deleted file mode 100644
index 89316dbd5c4..00000000000
--- a/src/test/ui/issues/issue-17718-const-borrow.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-use std::cell::UnsafeCell;
-
-const A: UnsafeCell<usize> = UnsafeCell::new(1);
-const B: &'static UnsafeCell<usize> = &A;
-//~^ ERROR: cannot refer to interior mutable
-
-struct C { a: UnsafeCell<usize> }
-const D: C = C { a: UnsafeCell::new(1) };
-const E: &'static UnsafeCell<usize> = &D.a;
-//~^ ERROR: cannot refer to interior mutable
-const F: &'static C = &D;
-//~^ ERROR: cannot refer to interior mutable
-
-fn main() {}
diff --git a/src/test/ui/issues/issue-17718-const-borrow.stderr b/src/test/ui/issues/issue-17718-const-borrow.stderr
deleted file mode 100644
index e3ff6c923ad..00000000000
--- a/src/test/ui/issues/issue-17718-const-borrow.stderr
+++ /dev/null
@@ -1,21 +0,0 @@
-error[E0492]: constants cannot refer to interior mutable data
-  --> $DIR/issue-17718-const-borrow.rs:4:39
-   |
-LL | const B: &'static UnsafeCell<usize> = &A;
-   |                                       ^^ this borrow of an interior mutable value may end up in the final value
-
-error[E0492]: constants cannot refer to interior mutable data
-  --> $DIR/issue-17718-const-borrow.rs:9:39
-   |
-LL | const E: &'static UnsafeCell<usize> = &D.a;
-   |                                       ^^^^ this borrow of an interior mutable value may end up in the final value
-
-error[E0492]: constants cannot refer to interior mutable data
-  --> $DIR/issue-17718-const-borrow.rs:11:23
-   |
-LL | const F: &'static C = &D;
-   |                       ^^ this borrow of an interior mutable value may end up in the final value
-
-error: aborting due to 3 previous errors
-
-For more information about this error, try `rustc --explain E0492`.
diff --git a/src/test/ui/issues/issue-17718-const-naming.rs b/src/test/ui/issues/issue-17718-const-naming.rs
deleted file mode 100644
index 7386478f9f0..00000000000
--- a/src/test/ui/issues/issue-17718-const-naming.rs
+++ /dev/null
@@ -1,8 +0,0 @@
-#![warn(unused)]
-#![deny(warnings)]
-
-const foo: isize = 3;
-//~^ ERROR: should have an upper case name
-//~^^ ERROR: constant is never used
-
-fn main() {}
diff --git a/src/test/ui/issues/issue-17718-const-naming.stderr b/src/test/ui/issues/issue-17718-const-naming.stderr
deleted file mode 100644
index ce4ebcb5e3e..00000000000
--- a/src/test/ui/issues/issue-17718-const-naming.stderr
+++ /dev/null
@@ -1,28 +0,0 @@
-error: constant is never used: `foo`
-  --> $DIR/issue-17718-const-naming.rs:4:1
-   |
-LL | const foo: isize = 3;
-   | ^^^^^^^^^^^^^^^^^^^^^
-   |
-note: the lint level is defined here
-  --> $DIR/issue-17718-const-naming.rs:2:9
-   |
-LL | #![deny(warnings)]
-   |         ^^^^^^^^
-   = note: `#[deny(dead_code)]` implied by `#[deny(warnings)]`
-
-error: constant `foo` should have an upper case name
-  --> $DIR/issue-17718-const-naming.rs:4:7
-   |
-LL | const foo: isize = 3;
-   |       ^^^ help: convert the identifier to upper case (notice the capitalization): `FOO`
-   |
-note: the lint level is defined here
-  --> $DIR/issue-17718-const-naming.rs:2:9
-   |
-LL | #![deny(warnings)]
-   |         ^^^^^^^^
-   = note: `#[deny(non_upper_case_globals)]` implied by `#[deny(warnings)]`
-
-error: aborting due to 2 previous errors
-
diff --git a/src/test/ui/issues/issue-20616-1.rs b/src/test/ui/issues/issue-20616-1.rs
deleted file mode 100644
index 49e9cb310c1..00000000000
--- a/src/test/ui/issues/issue-20616-1.rs
+++ /dev/null
@@ -1,36 +0,0 @@
-// We need all these 9 issue-20616-N.rs files
-// because we can only catch one parsing error at a time
-
-
-
-type Type_1_<'a, T> = &'a T;
-
-
-type Type_1<'a T> = &'a T; //~ error: expected one of `,`, `:`, or `>`, found `T`
-
-
-//type Type_2 = Type_1_<'static ()>; // error: expected `,` or `>` after lifetime name, found `(`
-
-
-//type Type_3<T> = Box<T,,>; // error: expected type, found `,`
-
-
-//type Type_4<T> = Type_1_<'static,, T>; // error: expected type, found `,`
-
-
-type Type_5_<'a> = Type_1_<'a, ()>;
-
-
-//type Type_5<'a> = Type_1_<'a, (),,>; // error: expected type, found `,`
-
-
-//type Type_6 = Type_5_<'a,,>; // error: expected type, found `,`
-
-
-//type Type_7 = Box<(),,>; // error: expected type, found `,`
-
-
-//type Type_8<'a,,> = &'a (); // error: expected ident, found `,`
-
-
-//type Type_9<T,,> = Box<T>; // error: expected ident, found `,`
diff --git a/src/test/ui/issues/issue-20616-1.stderr b/src/test/ui/issues/issue-20616-1.stderr
deleted file mode 100644
index 81604623785..00000000000
--- a/src/test/ui/issues/issue-20616-1.stderr
+++ /dev/null
@@ -1,8 +0,0 @@
-error: expected one of `,`, `:`, or `>`, found `T`
-  --> $DIR/issue-20616-1.rs:9:16
-   |
-LL | type Type_1<'a T> = &'a T;
-   |                ^ expected one of `,`, `:`, or `>`
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/issues/issue-20616-2.rs b/src/test/ui/issues/issue-20616-2.rs
deleted file mode 100644
index f108ae5de14..00000000000
--- a/src/test/ui/issues/issue-20616-2.rs
+++ /dev/null
@@ -1,36 +0,0 @@
-// We need all these 9 issue-20616-N.rs files
-// because we can only catch one parsing error at a time
-
-
-
-type Type_1_<'a, T> = &'a T;
-
-
-//type Type_1<'a T> = &'a T; // error: expected `,` or `>` after lifetime name, found `T`
-
-
-type Type_2 = Type_1_<'static ()>; //~ error: expected one of `,`, `:`, `=`, or `>`, found `(`
-
-
-//type Type_3<T> = Box<T,,>; // error: expected type, found `,`
-
-
-//type Type_4<T> = Type_1_<'static,, T>; // error: expected type, found `,`
-
-
-type Type_5_<'a> = Type_1_<'a, ()>;
-
-
-//type Type_5<'a> = Type_1_<'a, (),,>; // error: expected type, found `,`
-
-
-//type Type_6 = Type_5_<'a,,>; // error: expected type, found `,`
-
-
-//type Type_7 = Box<(),,>; // error: expected type, found `,`
-
-
-//type Type_8<'a,,> = &'a (); // error: expected ident, found `,`
-
-
-//type Type_9<T,,> = Box<T>; // error: expected ident, found `,`
diff --git a/src/test/ui/issues/issue-20616-2.stderr b/src/test/ui/issues/issue-20616-2.stderr
deleted file mode 100644
index 01e3d3dd7cc..00000000000
--- a/src/test/ui/issues/issue-20616-2.stderr
+++ /dev/null
@@ -1,8 +0,0 @@
-error: expected one of `,`, `:`, `=`, or `>`, found `(`
-  --> $DIR/issue-20616-2.rs:12:31
-   |
-LL | type Type_2 = Type_1_<'static ()>;
-   |                               ^ expected one of `,`, `:`, `=`, or `>`
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/issues/issue-20801.rs b/src/test/ui/issues/issue-20801.rs
deleted file mode 100644
index c3f136f2876..00000000000
--- a/src/test/ui/issues/issue-20801.rs
+++ /dev/null
@@ -1,37 +0,0 @@
-// We used to ICE when moving out of a `*mut T` or `*const T`.
-
-struct T(u8);
-
-static mut GLOBAL_MUT_T: T = T(0);
-
-static GLOBAL_T: T = T(0);
-
-fn imm_ref() -> &'static T {
-    unsafe { &GLOBAL_T }
-}
-
-fn mut_ref() -> &'static mut T {
-    unsafe { &mut GLOBAL_MUT_T }
-}
-
-fn mut_ptr() -> *mut T {
-    unsafe { core::ptr::null_mut() }
-}
-
-fn const_ptr() -> *const T {
-    unsafe { core::ptr::null() }
-}
-
-pub fn main() {
-    let a = unsafe { *mut_ref() };
-    //~^ ERROR cannot move out of a mutable reference
-
-    let b = unsafe { *imm_ref() };
-    //~^ ERROR cannot move out of a shared reference
-
-    let c = unsafe { *mut_ptr() };
-    //~^ ERROR cannot move out of a raw pointer
-
-    let d = unsafe { *const_ptr() };
-    //~^ ERROR cannot move out of a raw pointer
-}
diff --git a/src/test/ui/issues/issue-20801.stderr b/src/test/ui/issues/issue-20801.stderr
deleted file mode 100644
index d276231dc0c..00000000000
--- a/src/test/ui/issues/issue-20801.stderr
+++ /dev/null
@@ -1,39 +0,0 @@
-error[E0507]: cannot move out of a mutable reference
-  --> $DIR/issue-20801.rs:26:22
-   |
-LL |     let a = unsafe { *mut_ref() };
-   |                      ^^^^^^^^^^
-   |                      |
-   |                      move occurs because value has type `T`, which does not implement the `Copy` trait
-   |                      help: consider borrowing here: `&*mut_ref()`
-
-error[E0507]: cannot move out of a shared reference
-  --> $DIR/issue-20801.rs:29:22
-   |
-LL |     let b = unsafe { *imm_ref() };
-   |                      ^^^^^^^^^^
-   |                      |
-   |                      move occurs because value has type `T`, which does not implement the `Copy` trait
-   |                      help: consider borrowing here: `&*imm_ref()`
-
-error[E0507]: cannot move out of a raw pointer
-  --> $DIR/issue-20801.rs:32:22
-   |
-LL |     let c = unsafe { *mut_ptr() };
-   |                      ^^^^^^^^^^
-   |                      |
-   |                      move occurs because value has type `T`, which does not implement the `Copy` trait
-   |                      help: consider borrowing here: `&*mut_ptr()`
-
-error[E0507]: cannot move out of a raw pointer
-  --> $DIR/issue-20801.rs:35:22
-   |
-LL |     let d = unsafe { *const_ptr() };
-   |                      ^^^^^^^^^^^^
-   |                      |
-   |                      move occurs because value has type `T`, which does not implement the `Copy` trait
-   |                      help: consider borrowing here: `&*const_ptr()`
-
-error: aborting due to 4 previous errors
-
-For more information about this error, try `rustc --explain E0507`.
diff --git a/src/test/ui/issues/issue-21146.rs b/src/test/ui/issues/issue-21146.rs
deleted file mode 100644
index 19eaffc3edd..00000000000
--- a/src/test/ui/issues/issue-21146.rs
+++ /dev/null
@@ -1,3 +0,0 @@
-// error-pattern: expected one of `!` or `::`, found `<eof>`
-include!("auxiliary/issue-21146-inc.rs");
-fn main() {}
diff --git a/src/test/ui/issues/issue-21146.stderr b/src/test/ui/issues/issue-21146.stderr
deleted file mode 100644
index c71fda3d63f..00000000000
--- a/src/test/ui/issues/issue-21146.stderr
+++ /dev/null
@@ -1,8 +0,0 @@
-error: expected one of `!` or `::`, found `<eof>`
-  --> $DIR/auxiliary/issue-21146-inc.rs:3:1
-   |
-LL | parse_error
-   | ^^^^^^^^^^^ expected one of `!` or `::`
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/issues/issue-21562.rs b/src/test/ui/issues/issue-21562.rs
deleted file mode 100644
index a47d739c6be..00000000000
--- a/src/test/ui/issues/issue-21562.rs
+++ /dev/null
@@ -1,19 +0,0 @@
-// build-pass
-#![allow(dead_code)]
-#![allow(non_upper_case_globals)]
-
-extern crate core;
-use core::marker::Sync;
-
-static SARRAY: [i32; 1] = [11];
-
-struct MyStruct {
-    pub arr: *const [i32],
-}
-unsafe impl Sync for MyStruct {}
-
-static mystruct: MyStruct = MyStruct {
-    arr: &SARRAY
-};
-
-fn main() {}
diff --git a/src/test/ui/issues/issue-21721.rs b/src/test/ui/issues/issue-21721.rs
deleted file mode 100644
index 4c1411e1ecf..00000000000
--- a/src/test/ui/issues/issue-21721.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// run-pass
-
-fn main() {
-    static NONE: Option<((), &'static u8)> = None;
-    let ptr = unsafe {
-        *(&NONE as *const _ as *const *const u8)
-    };
-    assert!(ptr.is_null());
-}
diff --git a/src/test/ui/issues/issue-22546.rs b/src/test/ui/issues/issue-22546.rs
deleted file mode 100644
index c26e457f9e4..00000000000
--- a/src/test/ui/issues/issue-22546.rs
+++ /dev/null
@@ -1,52 +0,0 @@
-// run-pass
-#![allow(unused_variables)]
-// Parsing patterns with paths with type parameters (issue #22544)
-
-use std::default::Default;
-
-#[derive(Default)]
-pub struct Foo<T>(T, T);
-
-impl<T: ::std::fmt::Display> Foo<T> {
-    fn foo(&self) {
-        match *self {
-            Foo::<T>(ref x, ref y) => println!("Goodbye, World! {} {}", x, y)
-        }
-    }
-}
-
-trait Tr {
-    type U;
-}
-
-impl<T> Tr for Foo<T> {
-    type U = T;
-}
-
-struct Wrapper<T> {
-    value: T
-}
-
-fn main() {
-    let Foo::<i32>(a, b) = Default::default();
-
-    let f = Foo(2,3);
-    f.foo();
-
-    let w = Wrapper { value: Foo(10u8, 11u8) };
-    match w {
-        Wrapper::<Foo<u8>> { value: Foo(10, 11) } => {},
-        ::Wrapper::<<Foo<_> as Tr>::U> { value: Foo::<u8>(11, 16) } => { panic!() },
-        _ => { panic!() }
-    }
-
-    if let None::<u8> = Some(8) {
-        panic!();
-    }
-    if let None::<u8> { .. } = Some(8) {
-        panic!();
-    }
-    if let Option::None::<u8> { .. } = Some(8) {
-        panic!();
-    }
-}
diff --git a/src/test/ui/issues/issue-24085.rs b/src/test/ui/issues/issue-24085.rs
deleted file mode 100644
index 86e94beb7e2..00000000000
--- a/src/test/ui/issues/issue-24085.rs
+++ /dev/null
@@ -1,19 +0,0 @@
-// check-pass
-#![allow(dead_code)]
-// Regression test for #24085. Errors were occurring in region
-// inference due to the requirement that `'a:b'`, which was getting
-// incorrectly codegened in connection with the closure below.
-
-#[derive(Copy,Clone)]
-struct Path<'a:'b, 'b> {
-    x: &'a i32,
-    tail: Option<&'b Path<'a, 'b>>
-}
-
-#[allow(dead_code, unconditional_recursion)]
-fn foo<'a,'b,F>(p: Path<'a, 'b>, mut f: F)
-                where F: for<'c> FnMut(Path<'a, 'c>) {
-    foo(p, |x| f(x))
-}
-
-fn main() { }
diff --git a/src/test/ui/issues/issue-24267-flow-exit.rs b/src/test/ui/issues/issue-24267-flow-exit.rs
deleted file mode 100644
index d6809ee4143..00000000000
--- a/src/test/ui/issues/issue-24267-flow-exit.rs
+++ /dev/null
@@ -1,19 +0,0 @@
-// Ensure that we reject code when a nonlocal exit (`break`,
-// `continue`) causes us to pop over a needed assignment.
-
-pub fn main() {
-    foo1();
-    foo2();
-}
-
-pub fn foo1() {
-    let x: i32;
-    loop { x = break; }
-    println!("{}", x); //~ ERROR borrow of possibly-uninitialized variable: `x`
-}
-
-pub fn foo2() {
-    let x: i32;
-    for _ in 0..10 { x = continue; }
-    println!("{}", x); //~ ERROR borrow of possibly-uninitialized variable: `x`
-}
diff --git a/src/test/ui/issues/issue-24267-flow-exit.stderr b/src/test/ui/issues/issue-24267-flow-exit.stderr
deleted file mode 100644
index 4eb41ca24dd..00000000000
--- a/src/test/ui/issues/issue-24267-flow-exit.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error[E0381]: borrow of possibly-uninitialized variable: `x`
-  --> $DIR/issue-24267-flow-exit.rs:12:20
-   |
-LL |     println!("{}", x);
-   |                    ^ use of possibly-uninitialized `x`
-
-error[E0381]: borrow of possibly-uninitialized variable: `x`
-  --> $DIR/issue-24267-flow-exit.rs:18:20
-   |
-LL |     println!("{}", x);
-   |                    ^ use of possibly-uninitialized `x`
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0381`.
diff --git a/src/test/ui/issues/issue-24338.rs b/src/test/ui/issues/issue-24338.rs
deleted file mode 100644
index 3a2c790f852..00000000000
--- a/src/test/ui/issues/issue-24338.rs
+++ /dev/null
@@ -1,21 +0,0 @@
-//
-// check-pass
-
-trait DictLike<'a> {
-    type ItemsIterator: Iterator<Item=u8>;
-    fn get(c: Self::ItemsIterator) {
-        c.into_iter();
-    }
-}
-
-trait DictLike2<'a> {
-    type ItemsIterator: Iterator<Item=u8>;
-
-    fn items(&self) -> Self::ItemsIterator;
-
-    fn get(&self)  {
-        for _ in self.items() {}
-    }
-}
-
-fn main() {}
diff --git a/src/test/ui/issues/issue-25793.rs b/src/test/ui/issues/issue-25793.rs
deleted file mode 100644
index 6c8dacc2248..00000000000
--- a/src/test/ui/issues/issue-25793.rs
+++ /dev/null
@@ -1,26 +0,0 @@
-#![feature(rustc_attrs)]
-macro_rules! width(
-    ($this:expr) => {
-        $this.width.unwrap()
-        //~^ ERROR cannot use `self.width` because it was mutably borrowed
-    }
-);
-
-struct HasInfo {
-    width: Option<usize>
-}
-
-impl HasInfo {
-    fn get_size(&mut self, n: usize) -> usize {
-        n
-    }
-
-    fn get_other(&mut self) -> usize {
-        let r = &mut *self;
-        r.get_size(width!(self))
-    }
-    // Above is like `self.get_size(width!(self))`, but it
-    // deliberately avoids NLL's two phase borrow feature.
-}
-
-fn main() { }
diff --git a/src/test/ui/issues/issue-25793.stderr b/src/test/ui/issues/issue-25793.stderr
deleted file mode 100644
index 9d66ba3aae1..00000000000
--- a/src/test/ui/issues/issue-25793.stderr
+++ /dev/null
@@ -1,18 +0,0 @@
-error[E0503]: cannot use `self.width` because it was mutably borrowed
-  --> $DIR/issue-25793.rs:4:9
-   |
-LL |         $this.width.unwrap()
-   |         ^^^^^^^^^^^ use of borrowed `*self`
-...
-LL |         let r = &mut *self;
-   |                 ---------- borrow of `*self` occurs here
-LL |         r.get_size(width!(self))
-   |           -------- ------------ in this macro invocation
-   |           |
-   |           borrow later used by call
-   |
-   = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0503`.
diff --git a/src/test/ui/issues/issue-25916.rs b/src/test/ui/issues/issue-25916.rs
deleted file mode 100644
index 0b415947965..00000000000
--- a/src/test/ui/issues/issue-25916.rs
+++ /dev/null
@@ -1,28 +0,0 @@
-// run-pass
-#![allow(unused_must_use)]
-
-fn main() {
-    macro_rules! f {
-        () => { 0 + 0 }
-    }
-    // 16 per line
-    f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();
-    f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();
-    f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();
-    f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();
-
-    f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();
-    f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();
-    f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();
-    f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();
-
-    f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();
-    f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();
-    f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();
-    f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();
-
-    f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();
-    f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();
-    f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();
-    f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();f!();
-}
diff --git a/src/test/ui/issues/issue-26322.rs b/src/test/ui/issues/issue-26322.rs
deleted file mode 100644
index c1dc80eb7c5..00000000000
--- a/src/test/ui/issues/issue-26322.rs
+++ /dev/null
@@ -1,30 +0,0 @@
-// run-pass
-#![allow(non_camel_case_types)]
-#![allow(non_snake_case)]
-
-macro_rules! columnline {
-    () => (
-        (column!(), line!())
-    )
-}
-
-macro_rules! indirectcolumnline {
-    () => (
-        (||{ columnline!() })()
-    )
-}
-
-fn main() {
-    let closure = || {
-        columnline!()
-    };
-    let iflet = if let Some(_) = Some(0) {
-        columnline!()
-    } else { (0, 0) };
-    let cl = columnline!();
-    assert_eq!(closure(), (9, 19));
-    assert_eq!(iflet, (9, 22));
-    assert_eq!(cl, (14, 24));
-    let indirect = indirectcolumnline!();
-    assert_eq!(indirect, (20, 28));
-}
diff --git a/src/test/ui/issues/issue-26873-onefile.rs b/src/test/ui/issues/issue-26873-onefile.rs
deleted file mode 100644
index f06c6499eb0..00000000000
--- a/src/test/ui/issues/issue-26873-onefile.rs
+++ /dev/null
@@ -1,25 +0,0 @@
-// run-pass
-#![allow(dead_code)]
-#![allow(unused_imports)]
-#![allow(non_snake_case)]
-
-mod A {
-    pub mod B {
-        use super::*;
-
-        pub struct S;
-    }
-
-    pub mod C {
-        use super::*;
-        use super::B::S;
-
-        pub struct T;
-    }
-
-    pub use self::C::T;
-}
-
-use A::*;
-
-fn main() {}
diff --git a/src/test/ui/issues/issue-2718.rs b/src/test/ui/issues/issue-2718.rs
deleted file mode 100644
index 6449337eea4..00000000000
--- a/src/test/ui/issues/issue-2718.rs
+++ /dev/null
@@ -1,327 +0,0 @@
-// run-pass
-#![allow(dead_code)]
-#![allow(unused_unsafe)]
-#![allow(unused_imports)]
-#![allow(non_camel_case_types)]
-
-pub type Task = isize;
-
-// tjc: I don't know why
-pub mod pipes {
-    use self::state::{empty, full, blocked, terminated};
-    use super::Task;
-    use std::mem::{forget, transmute};
-    use std::mem::{replace, swap};
-    use std::mem;
-    use std::thread;
-    use std::marker::Send;
-
-    pub struct Stuff<T> {
-        state: state,
-        blocked_task: Option<Task>,
-        payload: Option<T>
-    }
-
-    #[derive(PartialEq, Debug)]
-    #[repr(isize)]
-    pub enum state {
-        empty,
-        full,
-        blocked,
-        terminated
-    }
-
-    pub struct packet<T> {
-        state: state,
-        blocked_task: Option<Task>,
-        payload: Option<T>
-    }
-
-    unsafe impl<T:Send> Send for packet<T> {}
-
-    pub fn packet<T:Send>() -> *const packet<T> {
-        unsafe {
-            let p: *const packet<T> = mem::transmute(Box::new(Stuff{
-                state: empty,
-                blocked_task: None::<Task>,
-                payload: None::<T>
-            }));
-            p
-        }
-    }
-
-    mod rusti {
-      pub fn atomic_xchg(_dst: &mut isize, _src: isize) -> isize { panic!(); }
-      pub fn atomic_xchg_acq(_dst: &mut isize, _src: isize) -> isize { panic!(); }
-      pub fn atomic_xchg_rel(_dst: &mut isize, _src: isize) -> isize { panic!(); }
-    }
-
-    // We should consider moving this to ::std::unsafe, although I
-    // suspect graydon would want us to use void pointers instead.
-    pub unsafe fn uniquify<T>(x: *const T) -> Box<T> {
-        mem::transmute(x)
-    }
-
-    pub fn swap_state_acq(dst: &mut state, src: state) -> state {
-        unsafe {
-            transmute(rusti::atomic_xchg_acq(transmute(dst), src as isize))
-        }
-    }
-
-    pub fn swap_state_rel(dst: &mut state, src: state) -> state {
-        unsafe {
-            transmute(rusti::atomic_xchg_rel(transmute(dst), src as isize))
-        }
-    }
-
-    pub fn send<T:Send>(mut p: send_packet<T>, payload: T) {
-        let p = p.unwrap();
-        let mut p = unsafe { uniquify(p) };
-        assert!((*p).payload.is_none());
-        (*p).payload = Some(payload);
-        let old_state = swap_state_rel(&mut (*p).state, full);
-        match old_state {
-          empty => {
-            // Yay, fastpath.
-
-            // The receiver will eventually clean this up.
-            unsafe { forget(p); }
-          }
-          full => { panic!("duplicate send") }
-          blocked => {
-
-            // The receiver will eventually clean this up.
-            unsafe { forget(p); }
-          }
-          terminated => {
-            // The receiver will never receive this. Rely on drop_glue
-            // to clean everything up.
-          }
-        }
-    }
-
-    pub fn recv<T:Send>(mut p: recv_packet<T>) -> Option<T> {
-        let p = p.unwrap();
-        let mut p = unsafe { uniquify(p) };
-        loop {
-            let old_state = swap_state_acq(&mut (*p).state,
-                                           blocked);
-            match old_state {
-              empty | blocked => { thread::yield_now(); }
-              full => {
-                let payload = replace(&mut p.payload, None);
-                return Some(payload.unwrap())
-              }
-              terminated => {
-                assert_eq!(old_state, terminated);
-                return None;
-              }
-            }
-        }
-    }
-
-    pub fn sender_terminate<T:Send>(p: *const packet<T>) {
-        let mut p = unsafe { uniquify(p) };
-        match swap_state_rel(&mut (*p).state, terminated) {
-          empty | blocked => {
-            // The receiver will eventually clean up.
-            unsafe { forget(p) }
-          }
-          full => {
-            // This is impossible
-            panic!("you dun goofed")
-          }
-          terminated => {
-            // I have to clean up, use drop_glue
-          }
-        }
-    }
-
-    pub fn receiver_terminate<T:Send>(p: *const packet<T>) {
-        let mut p = unsafe { uniquify(p) };
-        match swap_state_rel(&mut (*p).state, terminated) {
-          empty => {
-            // the sender will clean up
-            unsafe { forget(p) }
-          }
-          blocked => {
-            // this shouldn't happen.
-            panic!("terminating a blocked packet")
-          }
-          terminated | full => {
-            // I have to clean up, use drop_glue
-          }
-        }
-    }
-
-    pub struct send_packet<T:Send> {
-        p: Option<*const packet<T>>,
-    }
-
-    impl<T:Send> Drop for send_packet<T> {
-        fn drop(&mut self) {
-            unsafe {
-                if self.p != None {
-                    let self_p: &mut Option<*const packet<T>> =
-                        mem::transmute(&mut self.p);
-                    let p = replace(self_p, None);
-                    sender_terminate(p.unwrap())
-                }
-            }
-        }
-    }
-
-    impl<T:Send> send_packet<T> {
-        pub fn unwrap(&mut self) -> *const packet<T> {
-            replace(&mut self.p, None).unwrap()
-        }
-    }
-
-    pub fn send_packet<T:Send>(p: *const packet<T>) -> send_packet<T> {
-        send_packet {
-            p: Some(p)
-        }
-    }
-
-    pub struct recv_packet<T:Send> {
-        p: Option<*const packet<T>>,
-    }
-
-    impl<T:Send> Drop for recv_packet<T> {
-        fn drop(&mut self) {
-            unsafe {
-                if self.p != None {
-                    let self_p: &mut Option<*const packet<T>> =
-                        mem::transmute(&mut self.p);
-                    let p = replace(self_p, None);
-                    receiver_terminate(p.unwrap())
-                }
-            }
-        }
-    }
-
-    impl<T:Send> recv_packet<T> {
-        pub fn unwrap(&mut self) -> *const packet<T> {
-            replace(&mut self.p, None).unwrap()
-        }
-    }
-
-    pub fn recv_packet<T:Send>(p: *const packet<T>) -> recv_packet<T> {
-        recv_packet {
-            p: Some(p)
-        }
-    }
-
-    pub fn entangle<T:Send>() -> (send_packet<T>, recv_packet<T>) {
-        let p = packet();
-        (send_packet(p), recv_packet(p))
-    }
-}
-
-pub mod pingpong {
-    use std::mem;
-
-    pub struct ping(::pipes::send_packet<pong>);
-
-    unsafe impl Send for ping {}
-
-    pub struct pong(::pipes::send_packet<ping>);
-
-    unsafe impl Send for pong {}
-
-    pub fn liberate_ping(p: ping) -> ::pipes::send_packet<pong> {
-        unsafe {
-            let _addr : *const ::pipes::send_packet<pong> = match &p {
-              &ping(ref x) => { mem::transmute(x) }
-            };
-            panic!()
-        }
-    }
-
-    pub fn liberate_pong(p: pong) -> ::pipes::send_packet<ping> {
-        unsafe {
-            let _addr : *const ::pipes::send_packet<ping> = match &p {
-              &pong(ref x) => { mem::transmute(x) }
-            };
-            panic!()
-        }
-    }
-
-    pub fn init() -> (client::ping, server::ping) {
-        ::pipes::entangle()
-    }
-
-    pub mod client {
-        use pingpong;
-
-        pub type ping = ::pipes::send_packet<pingpong::ping>;
-        pub type pong = ::pipes::recv_packet<pingpong::pong>;
-
-        pub fn do_ping(c: ping) -> pong {
-            let (sp, rp) = ::pipes::entangle();
-
-            ::pipes::send(c, pingpong::ping(sp));
-            rp
-        }
-
-        pub fn do_pong(c: pong) -> (ping, ()) {
-            let packet = ::pipes::recv(c);
-            if packet.is_none() {
-                panic!("sender closed the connection")
-            }
-            (pingpong::liberate_pong(packet.unwrap()), ())
-        }
-    }
-
-    pub mod server {
-        use pingpong;
-
-        pub type ping = ::pipes::recv_packet<pingpong::ping>;
-        pub type pong = ::pipes::send_packet<pingpong::pong>;
-
-        pub fn do_ping(c: ping) -> (pong, ()) {
-            let packet = ::pipes::recv(c);
-            if packet.is_none() {
-                panic!("sender closed the connection")
-            }
-            (pingpong::liberate_ping(packet.unwrap()), ())
-        }
-
-        pub fn do_pong(c: pong) -> ping {
-            let (sp, rp) = ::pipes::entangle();
-            ::pipes::send(c, pingpong::pong(sp));
-            rp
-        }
-    }
-}
-
-fn client(chan: pingpong::client::ping) {
-    let chan = pingpong::client::do_ping(chan);
-    println!("Sent ping");
-    let (_chan, _data) = pingpong::client::do_pong(chan);
-    println!("Received pong");
-}
-
-fn server(chan: pingpong::server::ping) {
-    let (chan, _data) = pingpong::server::do_ping(chan);
-    println!("Received ping");
-    let _chan = pingpong::server::do_pong(chan);
-    println!("Sent pong");
-}
-
-pub fn main() {
-  /*
-//    Commented out because of option::get error
-
-    let (client_, server_) = pingpong::init();
-
-    task::spawn {|client_|
-        let client__ = client_.take();
-        client(client__);
-    };
-    task::spawn {|server_|
-        let server__ = server_.take();
-        server(server_ËŠ);
-    };
-  */
-}
diff --git a/src/test/ui/issues/issue-27282-move-match-input-into-guard.rs b/src/test/ui/issues/issue-27282-move-match-input-into-guard.rs
deleted file mode 100644
index 71f1f15654b..00000000000
--- a/src/test/ui/issues/issue-27282-move-match-input-into-guard.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-// Issue 27282: Example 2: This sidesteps the AST checks disallowing
-// mutable borrows in match guards by hiding the mutable borrow in a
-// guard behind a move (of the mutably borrowed match input) within a
-// closure.
-//
-// This example is not rejected by AST borrowck (and then reliably
-// reaches the panic code when executed, despite the compiler warning
-// about that match arm being unreachable.
-
-fn main() {
-    let b = &mut true;
-    match b {
-        &mut false => {},
-        _ if { (|| { let bar = b; *bar = false; })();
-                     false } => { },
-        &mut true => { println!("You might think we should get here"); },
-        //~^ ERROR use of moved value: `b` [E0382]
-        _ => panic!("surely we could never get here, since rustc warns it is unreachable."),
-    }
-}
diff --git a/src/test/ui/issues/issue-27282-move-match-input-into-guard.stderr b/src/test/ui/issues/issue-27282-move-match-input-into-guard.stderr
deleted file mode 100644
index 51f9b464d76..00000000000
--- a/src/test/ui/issues/issue-27282-move-match-input-into-guard.stderr
+++ /dev/null
@@ -1,17 +0,0 @@
-error[E0382]: use of moved value: `b`
-  --> $DIR/issue-27282-move-match-input-into-guard.rs:16:14
-   |
-LL |     let b = &mut true;
-   |         - move occurs because `b` has type `&mut bool`, which does not implement the `Copy` trait
-...
-LL |         _ if { (|| { let bar = b; *bar = false; })();
-   |                 --             - variable moved due to use in closure
-   |                 |
-   |                 value moved into closure here
-LL |                      false } => { },
-LL |         &mut true => { println!("You might think we should get here"); },
-   |              ^^^^ value used here after move
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0382`.
diff --git a/src/test/ui/issues/issue-27282-mutate-before-diverging-arm-2.rs b/src/test/ui/issues/issue-27282-mutate-before-diverging-arm-2.rs
deleted file mode 100644
index 9c3e7e9978e..00000000000
--- a/src/test/ui/issues/issue-27282-mutate-before-diverging-arm-2.rs
+++ /dev/null
@@ -1,40 +0,0 @@
-// This is testing an attempt to corrupt the discriminant of the match
-// arm in a guard, followed by an attempt to continue matching on that
-// corrupted discriminant in the remaining match arms.
-//
-// Basically this is testing that our new NLL feature of emitting a
-// fake read on each match arm is catching cases like this.
-//
-// This case is interesting because it includes a guard that
-// diverges, and therefore a single final fake-read at the very end
-// after the final match arm would not suffice.
-//
-// It is also interesting because the access to the corrupted data
-// occurs in the pattern-match itself, and not in the guard
-// expression.
-
-struct ForceFnOnce;
-
-fn main() {
-    let mut x = &mut Some(&2);
-    let force_fn_once = ForceFnOnce;
-    match x {
-        &mut None => panic!("unreachable"),
-        &mut Some(&_)
-            if {
-                // ForceFnOnce needed to exploit #27282
-                (|| { *x = None; drop(force_fn_once); })();
-                //~^ ERROR cannot mutably borrow `x` in match guard [E0510]
-                false
-            } => {}
-
-        // this segfaults if we corrupted the discriminant, because
-        // the compiler gets to *assume* that it cannot be the `None`
-        // case, even though that was the effect of the guard.
-        &mut Some(&2)
-            if {
-                panic!()
-            } => {}
-        _ => panic!("unreachable"),
-    }
-}
diff --git a/src/test/ui/issues/issue-27282-mutate-before-diverging-arm-2.stderr b/src/test/ui/issues/issue-27282-mutate-before-diverging-arm-2.stderr
deleted file mode 100644
index f0a3151f4e1..00000000000
--- a/src/test/ui/issues/issue-27282-mutate-before-diverging-arm-2.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error[E0510]: cannot mutably borrow `x` in match guard
-  --> $DIR/issue-27282-mutate-before-diverging-arm-2.rs:26:18
-   |
-LL |     match x {
-   |           - value is immutable in match guard
-...
-LL |                 (|| { *x = None; drop(force_fn_once); })();
-   |                  ^^    - borrow occurs due to use of `x` in closure
-   |                  |
-   |                  cannot mutably borrow
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0510`.
diff --git a/src/test/ui/issues/issue-27282-reborrow-ref-mut-in-guard.rs b/src/test/ui/issues/issue-27282-reborrow-ref-mut-in-guard.rs
deleted file mode 100644
index 82d8b9e9ed9..00000000000
--- a/src/test/ui/issues/issue-27282-reborrow-ref-mut-in-guard.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-// Issue 27282: This is a variation on issue-27282-move-ref-mut-into-guard.rs
-//
-// It reborrows instead of moving the `ref mut` pattern borrow. This
-// means that our conservative check for mutation in guards will
-// reject it. But I want to make sure that we continue to reject it
-// (under NLL) even when that conservaive check goes away.
-
-fn main() {
-    let mut b = &mut true;
-    match b {
-        &mut false => {},
-        ref mut r if { (|| { let bar = &mut *r; **bar = false; })();
-        //~^ ERROR cannot borrow `r` as mutable, as it is immutable for the pattern guard
-                             false } => { &mut *r; },
-        &mut true => { println!("You might think we should get here"); },
-        _ => panic!("surely we could never get here, since rustc warns it is unreachable."),
-    }
-}
diff --git a/src/test/ui/issues/issue-27282-reborrow-ref-mut-in-guard.stderr b/src/test/ui/issues/issue-27282-reborrow-ref-mut-in-guard.stderr
deleted file mode 100644
index f0264b56ea5..00000000000
--- a/src/test/ui/issues/issue-27282-reborrow-ref-mut-in-guard.stderr
+++ /dev/null
@@ -1,13 +0,0 @@
-error[E0596]: cannot borrow `r` as mutable, as it is immutable for the pattern guard
-  --> $DIR/issue-27282-reborrow-ref-mut-in-guard.rs:12:25
-   |
-LL |         ref mut r if { (|| { let bar = &mut *r; **bar = false; })();
-   |                         ^^                   - mutable borrow occurs due to use of `r` in closure
-   |                         |
-   |                         cannot borrow as mutable
-   |
-   = note: variables bound in patterns are immutable until the end of the pattern guard
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0596`.
diff --git a/src/test/ui/issues/issue-27890.rs b/src/test/ui/issues/issue-27890.rs
deleted file mode 100644
index 9f85473380f..00000000000
--- a/src/test/ui/issues/issue-27890.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-// run-pass
-static PLUS_ONE: &'static (dyn Fn(i32) -> i32 + Sync) = (&|x: i32| { x + 1 })
-    as &'static (dyn Fn(i32) -> i32 + Sync);
-
-fn main() {
-    assert_eq!(PLUS_ONE(2), 3);
-}
diff --git a/src/test/ui/issues/issue-28113.rs b/src/test/ui/issues/issue-28113.rs
deleted file mode 100644
index e5bd7aafe41..00000000000
--- a/src/test/ui/issues/issue-28113.rs
+++ /dev/null
@@ -1,8 +0,0 @@
-#![allow(warnings)]
-
-const X: u8 =
-    || -> u8 { 5 }()
-    //~^ ERROR calls in constants are limited to constant functions
-;
-
-fn main() {}
diff --git a/src/test/ui/issues/issue-28113.stderr b/src/test/ui/issues/issue-28113.stderr
deleted file mode 100644
index 3d274d777b0..00000000000
--- a/src/test/ui/issues/issue-28113.stderr
+++ /dev/null
@@ -1,9 +0,0 @@
-error[E0015]: calls in constants are limited to constant functions, tuple structs and tuple variants
-  --> $DIR/issue-28113.rs:4:5
-   |
-LL |     || -> u8 { 5 }()
-   |     ^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0015`.
diff --git a/src/test/ui/issues/issue-28498-ugeh-with-lifetime-param.rs b/src/test/ui/issues/issue-28498-ugeh-with-lifetime-param.rs
deleted file mode 100644
index 43c0bfb26cd..00000000000
--- a/src/test/ui/issues/issue-28498-ugeh-with-lifetime-param.rs
+++ /dev/null
@@ -1,38 +0,0 @@
-// run-pass
-
-// Demonstrate the use of the unguarded escape hatch with a lifetime param
-// to assert that destructor will not access any dead data.
-//
-// Compare with ui/span/issue28498-reject-lifetime-param.rs
-
-#![feature(dropck_eyepatch)]
-
-#[derive(Debug)]
-struct ScribbleOnDrop(String);
-
-impl Drop for ScribbleOnDrop {
-    fn drop(&mut self) {
-        self.0 = format!("DROPPED");
-    }
-}
-
-struct Foo<'a>(u32, &'a ScribbleOnDrop);
-
-unsafe impl<#[may_dangle] 'a> Drop for Foo<'a> {
-    fn drop(&mut self) {
-        // Use of `may_dangle` is sound, because destructor never accesses `self.1`.
-        println!("Dropping Foo({}, _)", self.0);
-    }
-}
-
-fn main() {
-    let (last_dropped, foo0);
-    let (foo1, first_dropped);
-
-    last_dropped = ScribbleOnDrop(format!("last"));
-    first_dropped = ScribbleOnDrop(format!("first"));
-    foo0 = Foo(0, &last_dropped);
-    foo1 = Foo(1, &first_dropped);
-
-    println!("foo0.1: {:?} foo1.1: {:?}", foo0.1, foo1.1);
-}
diff --git a/src/test/ui/issues/issue-28498-ugeh-with-trait-bound.rs b/src/test/ui/issues/issue-28498-ugeh-with-trait-bound.rs
deleted file mode 100644
index 61d11cf3834..00000000000
--- a/src/test/ui/issues/issue-28498-ugeh-with-trait-bound.rs
+++ /dev/null
@@ -1,41 +0,0 @@
-// run-pass
-
-// Demonstrate the use of the unguarded escape hatch with a trait bound
-// to assert that destructor will not access any dead data.
-//
-// Compare with ui/span/issue28498-reject-trait-bound.rs
-
-#![feature(dropck_eyepatch)]
-
-use std::fmt;
-
-#[derive(Debug)]
-struct ScribbleOnDrop(String);
-
-impl Drop for ScribbleOnDrop {
-    fn drop(&mut self) {
-        self.0 = format!("DROPPED");
-    }
-}
-
-struct Foo<T: fmt::Debug>(u32, T);
-
-unsafe impl<#[may_dangle] T: fmt::Debug> Drop for Foo<T> {
-    fn drop(&mut self) {
-        // Use of `may_dangle` is sound, because destructor never accesses
-        // the `Debug::fmt` method of `T`, despite having it available.
-        println!("Dropping Foo({}, _)", self.0);
-    }
-}
-
-fn main() {
-    let (last_dropped, foo0);
-    let (foo1, first_dropped);
-
-    last_dropped = ScribbleOnDrop(format!("last"));
-    first_dropped = ScribbleOnDrop(format!("first"));
-    foo0 = Foo(0, &last_dropped);
-    foo1 = Foo(1, &first_dropped);
-
-    println!("foo0.1: {:?} foo1.1: {:?}", foo0.1, foo1.1);
-}
diff --git a/src/test/ui/issues/issue-28676.rs b/src/test/ui/issues/issue-28676.rs
deleted file mode 100644
index 347a840296d..00000000000
--- a/src/test/ui/issues/issue-28676.rs
+++ /dev/null
@@ -1,40 +0,0 @@
-// run-pass
-#![allow(dead_code)]
-#![allow(improper_ctypes)]
-
-// ignore-wasm32-bare no libc to test ffi with
-
-#[derive(Copy, Clone)]
-pub struct Quad {
-    a: u64,
-    b: u64,
-    c: u64,
-    d: u64,
-}
-
-mod rustrt {
-    use super::Quad;
-
-    #[link(name = "rust_test_helpers", kind = "static")]
-    extern "C" {
-        pub fn get_c_many_params(
-            _: *const (),
-            _: *const (),
-            _: *const (),
-            _: *const (),
-            f: Quad,
-        ) -> u64;
-    }
-}
-
-fn test() {
-    unsafe {
-        let null = std::ptr::null();
-        let q = Quad { a: 1, b: 2, c: 3, d: 4 };
-        assert_eq!(rustrt::get_c_many_params(null, null, null, null, q), q.c);
-    }
-}
-
-pub fn main() {
-    test();
-}
diff --git a/src/test/ui/issues/issue-28837.rs b/src/test/ui/issues/issue-28837.rs
deleted file mode 100644
index 9719c3afa68..00000000000
--- a/src/test/ui/issues/issue-28837.rs
+++ /dev/null
@@ -1,35 +0,0 @@
-struct A;
-
-fn main() {
-    let a = A;
-
-    a + a; //~ ERROR cannot add `A` to `A`
-
-    a - a; //~ ERROR cannot subtract `A` from `A`
-
-    a * a; //~ ERROR cannot multiply `A` by `A`
-
-    a / a; //~ ERROR cannot divide `A` by `A`
-
-    a % a; //~ ERROR cannot mod `A` by `A`
-
-    a & a; //~ ERROR no implementation for `A & A`
-
-    a | a; //~ ERROR no implementation for `A | A`
-
-    a << a; //~ ERROR no implementation for `A << A`
-
-    a >> a; //~ ERROR no implementation for `A >> A`
-
-    a == a; //~ ERROR binary operation `==` cannot be applied to type `A`
-
-    a != a; //~ ERROR binary operation `!=` cannot be applied to type `A`
-
-    a < a; //~ ERROR binary operation `<` cannot be applied to type `A`
-
-    a <= a; //~ ERROR binary operation `<=` cannot be applied to type `A`
-
-    a > a; //~ ERROR binary operation `>` cannot be applied to type `A`
-
-    a >= a; //~ ERROR binary operation `>=` cannot be applied to type `A`
-}
diff --git a/src/test/ui/issues/issue-28837.stderr b/src/test/ui/issues/issue-28837.stderr
deleted file mode 100644
index 07f67bc3de7..00000000000
--- a/src/test/ui/issues/issue-28837.stderr
+++ /dev/null
@@ -1,153 +0,0 @@
-error[E0369]: cannot add `A` to `A`
-  --> $DIR/issue-28837.rs:6:7
-   |
-LL |     a + a;
-   |     - ^ - A
-   |     |
-   |     A
-   |
-   = note: an implementation of `std::ops::Add` might be missing for `A`
-
-error[E0369]: cannot subtract `A` from `A`
-  --> $DIR/issue-28837.rs:8:7
-   |
-LL |     a - a;
-   |     - ^ - A
-   |     |
-   |     A
-   |
-   = note: an implementation of `std::ops::Sub` might be missing for `A`
-
-error[E0369]: cannot multiply `A` by `A`
-  --> $DIR/issue-28837.rs:10:7
-   |
-LL |     a * a;
-   |     - ^ - A
-   |     |
-   |     A
-   |
-   = note: an implementation of `std::ops::Mul` might be missing for `A`
-
-error[E0369]: cannot divide `A` by `A`
-  --> $DIR/issue-28837.rs:12:7
-   |
-LL |     a / a;
-   |     - ^ - A
-   |     |
-   |     A
-   |
-   = note: an implementation of `std::ops::Div` might be missing for `A`
-
-error[E0369]: cannot mod `A` by `A`
-  --> $DIR/issue-28837.rs:14:7
-   |
-LL |     a % a;
-   |     - ^ - A
-   |     |
-   |     A
-   |
-   = note: an implementation of `std::ops::Rem` might be missing for `A`
-
-error[E0369]: no implementation for `A & A`
-  --> $DIR/issue-28837.rs:16:7
-   |
-LL |     a & a;
-   |     - ^ - A
-   |     |
-   |     A
-   |
-   = note: an implementation of `std::ops::BitAnd` might be missing for `A`
-
-error[E0369]: no implementation for `A | A`
-  --> $DIR/issue-28837.rs:18:7
-   |
-LL |     a | a;
-   |     - ^ - A
-   |     |
-   |     A
-   |
-   = note: an implementation of `std::ops::BitOr` might be missing for `A`
-
-error[E0369]: no implementation for `A << A`
-  --> $DIR/issue-28837.rs:20:7
-   |
-LL |     a << a;
-   |     - ^^ - A
-   |     |
-   |     A
-   |
-   = note: an implementation of `std::ops::Shl` might be missing for `A`
-
-error[E0369]: no implementation for `A >> A`
-  --> $DIR/issue-28837.rs:22:7
-   |
-LL |     a >> a;
-   |     - ^^ - A
-   |     |
-   |     A
-   |
-   = note: an implementation of `std::ops::Shr` might be missing for `A`
-
-error[E0369]: binary operation `==` cannot be applied to type `A`
-  --> $DIR/issue-28837.rs:24:7
-   |
-LL |     a == a;
-   |     - ^^ - A
-   |     |
-   |     A
-   |
-   = note: an implementation of `std::cmp::PartialEq` might be missing for `A`
-
-error[E0369]: binary operation `!=` cannot be applied to type `A`
-  --> $DIR/issue-28837.rs:26:7
-   |
-LL |     a != a;
-   |     - ^^ - A
-   |     |
-   |     A
-   |
-   = note: an implementation of `std::cmp::PartialEq` might be missing for `A`
-
-error[E0369]: binary operation `<` cannot be applied to type `A`
-  --> $DIR/issue-28837.rs:28:7
-   |
-LL |     a < a;
-   |     - ^ - A
-   |     |
-   |     A
-   |
-   = note: an implementation of `std::cmp::PartialOrd` might be missing for `A`
-
-error[E0369]: binary operation `<=` cannot be applied to type `A`
-  --> $DIR/issue-28837.rs:30:7
-   |
-LL |     a <= a;
-   |     - ^^ - A
-   |     |
-   |     A
-   |
-   = note: an implementation of `std::cmp::PartialOrd` might be missing for `A`
-
-error[E0369]: binary operation `>` cannot be applied to type `A`
-  --> $DIR/issue-28837.rs:32:7
-   |
-LL |     a > a;
-   |     - ^ - A
-   |     |
-   |     A
-   |
-   = note: an implementation of `std::cmp::PartialOrd` might be missing for `A`
-
-error[E0369]: binary operation `>=` cannot be applied to type `A`
-  --> $DIR/issue-28837.rs:34:7
-   |
-LL |     a >= a;
-   |     - ^^ - A
-   |     |
-   |     A
-   |
-   = note: an implementation of `std::cmp::PartialOrd` might be missing for `A`
-
-error: aborting due to 15 previous errors
-
-For more information about this error, try `rustc --explain E0369`.
diff --git a/src/test/ui/issues/issue-28848.nll.stderr b/src/test/ui/issues/issue-28848.nll.stderr
deleted file mode 100644
index a29dac4c9c8..00000000000
--- a/src/test/ui/issues/issue-28848.nll.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: lifetime may not live long enough
-  --> $DIR/issue-28848.rs:10:5
-   |
-LL | pub fn foo<'a, 'b>(u: &'b ()) -> &'a () {
-   |            --  -- lifetime `'b` defined here
-   |            |
-   |            lifetime `'a` defined here
-LL |     Foo::<'a, 'b>::xmute(u)
-   |     ^^^^^^^^^^^^^^^^^^^^ requires that `'b` must outlive `'a`
-   |
-   = help: consider adding the following bound: `'b: 'a`
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/issues/issue-28848.rs b/src/test/ui/issues/issue-28848.rs
deleted file mode 100644
index a6250239030..00000000000
--- a/src/test/ui/issues/issue-28848.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-struct Foo<'a, 'b: 'a>(&'a &'b ());
-
-impl<'a, 'b> Foo<'a, 'b> {
-    fn xmute(a: &'b ()) -> &'a () {
-        unreachable!()
-    }
-}
-
-pub fn foo<'a, 'b>(u: &'b ()) -> &'a () {
-    Foo::<'a, 'b>::xmute(u) //~ ERROR lifetime bound not satisfied
-}
-
-fn main() {}
diff --git a/src/test/ui/issues/issue-28848.stderr b/src/test/ui/issues/issue-28848.stderr
deleted file mode 100644
index 726844a3184..00000000000
--- a/src/test/ui/issues/issue-28848.stderr
+++ /dev/null
@@ -1,20 +0,0 @@
-error[E0478]: lifetime bound not satisfied
-  --> $DIR/issue-28848.rs:10:5
-   |
-LL |     Foo::<'a, 'b>::xmute(u)
-   |     ^^^^^^^^^^^^^^^^^^^^
-   |
-note: lifetime parameter instantiated with the lifetime `'b` as defined on the function body at 9:16
-  --> $DIR/issue-28848.rs:9:16
-   |
-LL | pub fn foo<'a, 'b>(u: &'b ()) -> &'a () {
-   |                ^^
-note: but lifetime parameter must outlive the lifetime `'a` as defined on the function body at 9:12
-  --> $DIR/issue-28848.rs:9:12
-   |
-LL | pub fn foo<'a, 'b>(u: &'b ()) -> &'a () {
-   |            ^^
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0478`.
diff --git a/src/test/ui/issues/issue-29161.rs b/src/test/ui/issues/issue-29161.rs
deleted file mode 100644
index d80405aa856..00000000000
--- a/src/test/ui/issues/issue-29161.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-mod a {
-    struct A;
-
-    impl Default for A {
-        pub fn default() -> A { //~ ERROR unnecessary visibility qualifier
-            A
-        }
-    }
-}
-
-
-fn main() {
-    a::A::default();
-    //~^ ERROR struct `A` is private
- }
diff --git a/src/test/ui/issues/issue-29161.stderr b/src/test/ui/issues/issue-29161.stderr
deleted file mode 100644
index 7ce95e4b0df..00000000000
--- a/src/test/ui/issues/issue-29161.stderr
+++ /dev/null
@@ -1,22 +0,0 @@
-error[E0449]: unnecessary visibility qualifier
-  --> $DIR/issue-29161.rs:5:9
-   |
-LL |         pub fn default() -> A {
-   |         ^^^ `pub` not permitted here because it's implied
-
-error[E0603]: struct `A` is private
-  --> $DIR/issue-29161.rs:13:8
-   |
-LL |     a::A::default();
-   |        ^ private struct
-   |
-note: the struct `A` is defined here
-  --> $DIR/issue-29161.rs:2:5
-   |
-LL |     struct A;
-   |     ^^^^^^^^^
-
-error: aborting due to 2 previous errors
-
-Some errors have detailed explanations: E0449, E0603.
-For more information about an error, try `rustc --explain E0449`.
diff --git a/src/test/ui/issues/issue-2936.rs b/src/test/ui/issues/issue-2936.rs
deleted file mode 100644
index 6b932d01d55..00000000000
--- a/src/test/ui/issues/issue-2936.rs
+++ /dev/null
@@ -1,31 +0,0 @@
-// run-pass
-#![allow(non_camel_case_types)]
-
-trait bar<T> {
-    fn get_bar(&self) -> T;
-}
-
-fn foo<T, U: bar<T>>(b: U) -> T {
-    b.get_bar()
-}
-
-struct cbar {
-    x: isize,
-}
-
-impl bar<isize> for cbar {
-    fn get_bar(&self) -> isize {
-        self.x
-    }
-}
-
-fn cbar(x: isize) -> cbar {
-    cbar {
-        x: x
-    }
-}
-
-pub fn main() {
-    let x: isize = foo::<isize, cbar>(cbar(5));
-    assert_eq!(x, 5);
-}
diff --git a/src/test/ui/issues/issue-29844.rs b/src/test/ui/issues/issue-29844.rs
deleted file mode 100644
index e08942da5e4..00000000000
--- a/src/test/ui/issues/issue-29844.rs
+++ /dev/null
@@ -1,24 +0,0 @@
-// run-pass
-use std::sync::Arc;
-
-pub struct DescriptorSet<'a> {
-    pub slots: Vec<AttachInfo<'a, Resources>>
-}
-
-pub trait ResourcesTrait<'r>: Sized {
-    type DescriptorSet: 'r;
-}
-
-pub struct Resources;
-
-impl<'a> ResourcesTrait<'a> for Resources {
-    type DescriptorSet = DescriptorSet<'a>;
-}
-
-pub enum AttachInfo<'a, R: ResourcesTrait<'a>> {
-    NextDescriptorSet(Arc<R::DescriptorSet>)
-}
-
-fn main() {
-    let _x = DescriptorSet {slots: Vec::new()};
-}
diff --git a/src/test/ui/issues/issue-29914-2.rs b/src/test/ui/issues/issue-29914-2.rs
deleted file mode 100644
index 626de269d95..00000000000
--- a/src/test/ui/issues/issue-29914-2.rs
+++ /dev/null
@@ -1,6 +0,0 @@
-// run-pass
-const ARR: [usize; 5] = [5, 4, 3, 2, 1];
-
-fn main() {
-    assert_eq!(3, ARR[ARR[3]]);
-}
diff --git a/src/test/ui/issues/issue-29914-3.rs b/src/test/ui/issues/issue-29914-3.rs
deleted file mode 100644
index 1c6c64eb316..00000000000
--- a/src/test/ui/issues/issue-29914-3.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-// run-pass
-const ARR: [usize; 5] = [5, 4, 3, 2, 1];
-const BLA: usize = ARR[ARR[3]];
-
-fn main() {
-    assert_eq!(3, BLA);
-}
diff --git a/src/test/ui/issues/issue-29914.rs b/src/test/ui/issues/issue-29914.rs
deleted file mode 100644
index 6da63664dfa..00000000000
--- a/src/test/ui/issues/issue-29914.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-// run-pass
-#![allow(stable_features)]
-
-#![feature(const_indexing)]
-
-const ARR: [usize; 5] = [5, 4, 3, 2, 1];
-
-fn main() {
-    assert_eq!(3, ARR[ARR[3]]);
-}
diff --git a/src/test/ui/issues/issue-29927-1.rs b/src/test/ui/issues/issue-29927-1.rs
deleted file mode 100644
index a236e491375..00000000000
--- a/src/test/ui/issues/issue-29927-1.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-// run-pass
-#![allow(dead_code)]
-const fn f() -> usize {
-    5
-}
-struct A {
-    field: usize,
-}
-fn main() {
-    let _ = [0; f()];
-}
diff --git a/src/test/ui/issues/issue-29927.rs b/src/test/ui/issues/issue-29927.rs
deleted file mode 100644
index 3385e4e6e94..00000000000
--- a/src/test/ui/issues/issue-29927.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-// run-pass
-#![allow(dead_code)]
-struct A {
-    field: usize,
-}
-const fn f() -> usize {
-    5
-}
-fn main() {
-    let _ = [0; f()];
-}
diff --git a/src/test/ui/issues/issue-30018-nopanic.rs b/src/test/ui/issues/issue-30018-nopanic.rs
deleted file mode 100644
index 291bab2736d..00000000000
--- a/src/test/ui/issues/issue-30018-nopanic.rs
+++ /dev/null
@@ -1,103 +0,0 @@
-// run-pass
-#![allow(unreachable_code)]
-// More thorough regression test for Issues #30018 and #30822. This
-// attempts to explore different ways that array element construction
-// (for both scratch arrays and non-scratch ones) interacts with
-// breaks in the control-flow, in terms of the order of evaluation of
-// the destructors (which may change; see RFC Issue 744) and the
-// number of times that the destructor evaluates for each value (which
-// should never exceed 1; this latter case is what #30822 is about).
-
-use std::cell::RefCell;
-
-struct D<'a>(&'a RefCell<Vec<i32>>, i32);
-
-impl<'a> Drop for D<'a> {
-    fn drop(&mut self) {
-        println!("Dropping D({})", self.1);
-        (self.0).borrow_mut().push(self.1);
-    }
-}
-
-fn main() {
-    println!("Start");
-    break_during_elem();
-    break_after_whole();
-    println!("Finis");
-}
-
-fn break_during_elem() {
-    let log = &RefCell::new(Vec::new());
-
-    // CASE 1: Fixed-size array itself is stored in _r slot.
-    loop {
-        let _r = [D(log, 10),
-                  D(log, 11),
-                  { D(log, 12); break; },
-                  D(log, 13)];
-    }
-    assert_eq!(&log.borrow()[..], &[12, 11, 10]);
-    log.borrow_mut().clear();
-
-    // CASE 2: Slice (borrow of array) is stored in _r slot.
-    // This is the case that is actually being reported in #30018.
-    loop {
-        let _r = &[D(log, 20),
-                   D(log, 21),
-                   { D(log, 22); break; },
-                   D(log, 23)];
-    }
-    assert_eq!(&log.borrow()[..], &[22, 21, 20]);
-    log.borrow_mut().clear();
-
-    // CASE 3: (Borrow of) slice-index of array is stored in _r slot.
-    loop {
-        let _r = &[D(log, 30),
-                  D(log, 31),
-                  { D(log, 32); break; },
-                  D(log, 33)][..];
-    }
-    assert_eq!(&log.borrow()[..], &[32, 31, 30]);
-    log.borrow_mut().clear();
-}
-
-// The purpose of these functions is to test what happens when we
-// panic after an array has been constructed in its entirety.
-//
-// It is meant to act as proof that we still need to continue
-// scheduling the destruction of an array even after we've scheduling
-// drop for its elements during construction; the latter is tested by
-// `fn break_during_elem()`.
-fn break_after_whole() {
-    let log = &RefCell::new(Vec::new());
-
-    // CASE 1: Fixed-size array itself is stored in _r slot.
-    loop {
-        let _r = [D(log, 10),
-                  D(log, 11),
-                  D(log, 12)];
-        break;
-    }
-    assert_eq!(&log.borrow()[..], &[10, 11, 12]);
-    log.borrow_mut().clear();
-
-    // CASE 2: Slice (borrow of array) is stored in _r slot.
-    loop {
-        let _r = &[D(log, 20),
-                   D(log, 21),
-                   D(log, 22)];
-        break;
-    }
-    assert_eq!(&log.borrow()[..], &[20, 21, 22]);
-    log.borrow_mut().clear();
-
-    // CASE 3: (Borrow of) slice-index of array is stored in _r slot.
-    loop {
-        let _r = &[D(log, 30),
-                   D(log, 31),
-                   D(log, 32)][..];
-        break;
-    }
-    assert_eq!(&log.borrow()[..], &[30, 31, 32]);
-    log.borrow_mut().clear();
-}
diff --git a/src/test/ui/issues/issue-30079.rs b/src/test/ui/issues/issue-30079.rs
deleted file mode 100644
index a02a932d057..00000000000
--- a/src/test/ui/issues/issue-30079.rs
+++ /dev/null
@@ -1,39 +0,0 @@
-struct SemiPriv;
-
-mod m1 {
-    struct Priv;
-    impl ::SemiPriv {
-        pub fn f(_: Priv) {} //~ WARN private type `m1::Priv` in public interface
-        //~^ WARNING hard error
-    }
-
-    impl Priv {
-        pub fn f(_: Priv) {} // ok
-    }
-}
-
-mod m2 {
-    struct Priv;
-    impl ::std::ops::Deref for ::SemiPriv {
-        type Target = Priv; //~ ERROR private type `m2::Priv` in public interface
-        fn deref(&self) -> &Self::Target { unimplemented!() }
-    }
-
-    impl ::std::ops::Deref for Priv {
-        type Target = Priv; // ok
-        fn deref(&self) -> &Self::Target { unimplemented!() }
-    }
-}
-
-trait SemiPrivTrait {
-    type Assoc;
-}
-
-mod m3 {
-    struct Priv;
-    impl ::SemiPrivTrait for () {
-        type Assoc = Priv; //~ ERROR private type `m3::Priv` in public interface
-    }
-}
-
-fn main() {}
diff --git a/src/test/ui/issues/issue-30079.stderr b/src/test/ui/issues/issue-30079.stderr
deleted file mode 100644
index e40b1942059..00000000000
--- a/src/test/ui/issues/issue-30079.stderr
+++ /dev/null
@@ -1,31 +0,0 @@
-warning: private type `m1::Priv` in public interface (error E0446)
-  --> $DIR/issue-30079.rs:6:9
-   |
-LL |         pub fn f(_: Priv) {}
-   |         ^^^^^^^^^^^^^^^^^
-   |
-   = note: `#[warn(private_in_public)]` on by default
-   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
-   = note: for more information, see issue #34537 <https://github.com/rust-lang/rust/issues/34537>
-
-error[E0446]: private type `m2::Priv` in public interface
-  --> $DIR/issue-30079.rs:18:9
-   |
-LL |     struct Priv;
-   |     ------------ `m2::Priv` declared as private
-LL |     impl ::std::ops::Deref for ::SemiPriv {
-LL |         type Target = Priv;
-   |         ^^^^^^^^^^^^^^^^^^^ can't leak private type
-
-error[E0446]: private type `m3::Priv` in public interface
-  --> $DIR/issue-30079.rs:35:9
-   |
-LL |     struct Priv;
-   |     ------------ `m3::Priv` declared as private
-LL |     impl ::SemiPrivTrait for () {
-LL |         type Assoc = Priv;
-   |         ^^^^^^^^^^^^^^^^^^ can't leak private type
-
-error: aborting due to 2 previous errors; 1 warning emitted
-
-For more information about this error, try `rustc --explain E0446`.
diff --git a/src/test/ui/issues/issue-30302.rs b/src/test/ui/issues/issue-30302.rs
deleted file mode 100644
index c37d4f29d10..00000000000
--- a/src/test/ui/issues/issue-30302.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-#![allow(dead_code)]
-#![allow(unused_variables)]
-#![allow(non_snake_case)]
-#![deny(unreachable_patterns)]
-
-enum Stack<T> {
-    Nil,
-    Cons(T, Box<Stack<T>>)
-}
-
-fn is_empty<T>(s: Stack<T>) -> bool {
-    match s {
-        Nil => true,
-//~^ WARN pattern binding `Nil` is named the same as one of the variants of the type `Stack`
-        _ => false
-//~^ ERROR unreachable pattern
-    }
-}
-
-fn main() {}
diff --git a/src/test/ui/issues/issue-30302.stderr b/src/test/ui/issues/issue-30302.stderr
deleted file mode 100644
index 849ff1ebd92..00000000000
--- a/src/test/ui/issues/issue-30302.stderr
+++ /dev/null
@@ -1,26 +0,0 @@
-warning[E0170]: pattern binding `Nil` is named the same as one of the variants of the type `Stack`
-  --> $DIR/issue-30302.rs:13:9
-   |
-LL |         Nil => true,
-   |         ^^^ help: to match on the variant, qualify the path: `Stack::Nil`
-   |
-   = note: `#[warn(bindings_with_variant_name)]` on by default
-
-error: unreachable pattern
-  --> $DIR/issue-30302.rs:15:9
-   |
-LL |         Nil => true,
-   |         --- matches any value
-LL |
-LL |         _ => false
-   |         ^ unreachable pattern
-   |
-note: the lint level is defined here
-  --> $DIR/issue-30302.rs:4:9
-   |
-LL | #![deny(unreachable_patterns)]
-   |         ^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error; 1 warning emitted
-
-For more information about this error, try `rustc --explain E0170`.
diff --git a/src/test/ui/issues/issue-32119.rs b/src/test/ui/issues/issue-32119.rs
deleted file mode 100644
index 36adb5289ac..00000000000
--- a/src/test/ui/issues/issue-32119.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-// check-pass
-
-pub type T = ();
-mod foo { pub use super::T; }
-mod bar { pub use super::T; }
-
-pub use foo::*;
-pub use bar::*;
-
-mod baz {
-    pub type T = ();
-    mod foo { pub use super::T as S; }
-    mod bar { pub use super::foo::S as T; }
-    pub use self::bar::*;
-}
-
-fn main() {}
diff --git a/src/test/ui/issues/issue-32222.rs b/src/test/ui/issues/issue-32222.rs
deleted file mode 100644
index 4ed06bff803..00000000000
--- a/src/test/ui/issues/issue-32222.rs
+++ /dev/null
@@ -1,22 +0,0 @@
-// check-pass
-
-mod foo {
-    pub fn bar() {}
-}
-
-pub use foo::*;
-use b::bar;
-
-mod foobar {
-    use super::*;
-}
-
-mod a {
-    pub mod bar {}
-}
-
-mod b {
-    pub use a::bar;
-}
-
-fn main() {}
diff --git a/src/test/ui/issues/issue-32829-2.rs b/src/test/ui/issues/issue-32829-2.rs
deleted file mode 100644
index c93c84b5fb7..00000000000
--- a/src/test/ui/issues/issue-32829-2.rs
+++ /dev/null
@@ -1,73 +0,0 @@
-// ignore-tidy-linelength
-
-const bad : u32 = {
-    {
-        5;
-        0
-    }
-};
-
-const bad_two : u32 = {
-    {
-        invalid();
-        //~^ ERROR: calls in constants are limited to constant functions, tuple structs and tuple variants
-        0
-    }
-};
-
-const bad_three : u32 = {
-    {
-        valid();
-        0
-    }
-};
-
-static bad_four : u32 = {
-    {
-        5;
-        0
-    }
-};
-
-static bad_five : u32 = {
-    {
-        invalid();
-        //~^ ERROR: calls in statics are limited to constant functions, tuple structs and tuple variants
-        0
-    }
-};
-
-static bad_six : u32 = {
-    {
-        valid();
-        0
-    }
-};
-
-static mut bad_seven : u32 = {
-    {
-        5;
-        0
-    }
-};
-
-static mut bad_eight : u32 = {
-    {
-        invalid();
-        //~^ ERROR: calls in statics are limited to constant functions, tuple structs and tuple variants
-        0
-    }
-};
-
-static mut bad_nine : u32 = {
-    {
-        valid();
-        0
-    }
-};
-
-
-fn invalid() {}
-const fn valid() {}
-
-fn main() {}
diff --git a/src/test/ui/issues/issue-32829-2.stderr b/src/test/ui/issues/issue-32829-2.stderr
deleted file mode 100644
index 8d7423f29ae..00000000000
--- a/src/test/ui/issues/issue-32829-2.stderr
+++ /dev/null
@@ -1,21 +0,0 @@
-error[E0015]: calls in constants are limited to constant functions, tuple structs and tuple variants
-  --> $DIR/issue-32829-2.rs:12:9
-   |
-LL |         invalid();
-   |         ^^^^^^^^^
-
-error[E0015]: calls in statics are limited to constant functions, tuple structs and tuple variants
-  --> $DIR/issue-32829-2.rs:34:9
-   |
-LL |         invalid();
-   |         ^^^^^^^^^
-
-error[E0015]: calls in statics are limited to constant functions, tuple structs and tuple variants
-  --> $DIR/issue-32829-2.rs:56:9
-   |
-LL |         invalid();
-   |         ^^^^^^^^^
-
-error: aborting due to 3 previous errors
-
-For more information about this error, try `rustc --explain E0015`.
diff --git a/src/test/ui/issues/issue-34222-1.rs b/src/test/ui/issues/issue-34222-1.rs
deleted file mode 100644
index d36dddc97bb..00000000000
--- a/src/test/ui/issues/issue-34222-1.rs
+++ /dev/null
@@ -1,3 +0,0 @@
-fn main() {
-    /// comment //~ ERROR found a documentation comment that doesn't document anything
-}
diff --git a/src/test/ui/issues/issue-34222-1.stderr b/src/test/ui/issues/issue-34222-1.stderr
deleted file mode 100644
index 0799656b06b..00000000000
--- a/src/test/ui/issues/issue-34222-1.stderr
+++ /dev/null
@@ -1,11 +0,0 @@
-error[E0585]: found a documentation comment that doesn't document anything
-  --> $DIR/issue-34222-1.rs:2:5
-   |
-LL |     /// comment
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = help: doc comments must come before what they document, maybe a comment was intended with `//`?
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0585`.
diff --git a/src/test/ui/issues/issue-34798.rs b/src/test/ui/issues/issue-34798.rs
deleted file mode 100644
index f0d710123cd..00000000000
--- a/src/test/ui/issues/issue-34798.rs
+++ /dev/null
@@ -1,25 +0,0 @@
-// run-pass
-#![forbid(improper_ctypes)]
-#![allow(dead_code)]
-
-#[repr(C)]
-pub struct Foo {
-    size: u8,
-    __value: ::std::marker::PhantomData<i32>,
-}
-
-#[repr(C)]
-pub struct ZeroSizeWithPhantomData<T>(::std::marker::PhantomData<T>);
-
-#[repr(C)]
-pub struct Bar {
-    size: u8,
-    baz: ZeroSizeWithPhantomData<i32>,
-}
-
-extern "C" {
-    pub fn bar(_: *mut Foo, _: *mut Bar);
-}
-
-fn main() {
-}
diff --git a/src/test/ui/issues/issue-36163.rs b/src/test/ui/issues/issue-36163.rs
deleted file mode 100644
index 340d2c3997c..00000000000
--- a/src/test/ui/issues/issue-36163.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-const A: isize = Foo::B as isize;
-
-enum Foo {
-    B = A, //~ ERROR E0391
-}
-
-fn main() {}
diff --git a/src/test/ui/issues/issue-36163.stderr b/src/test/ui/issues/issue-36163.stderr
deleted file mode 100644
index 113f86cf0f9..00000000000
--- a/src/test/ui/issues/issue-36163.stderr
+++ /dev/null
@@ -1,49 +0,0 @@
-error[E0391]: cycle detected when simplifying constant for the type system `Foo::B::{constant#0}`
-  --> $DIR/issue-36163.rs:4:9
-   |
-LL |     B = A,
-   |         ^
-   |
-note: ...which requires simplifying constant for the type system `Foo::B::{constant#0}`...
-  --> $DIR/issue-36163.rs:4:9
-   |
-LL |     B = A,
-   |         ^
-note: ...which requires const-evaluating + checking `Foo::B::{constant#0}`...
-  --> $DIR/issue-36163.rs:4:9
-   |
-LL |     B = A,
-   |         ^
-   = note: ...which requires normalizing `A`...
-note: ...which requires simplifying constant for the type system `A`...
-  --> $DIR/issue-36163.rs:1:1
-   |
-LL | const A: isize = Foo::B as isize;
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-note: ...which requires simplifying constant for the type system `A`...
-  --> $DIR/issue-36163.rs:1:1
-   |
-LL | const A: isize = Foo::B as isize;
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-note: ...which requires const-evaluating + checking `A`...
-  --> $DIR/issue-36163.rs:1:1
-   |
-LL | const A: isize = Foo::B as isize;
-   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   = note: ...which requires normalizing `A`...
-   = note: ...which again requires simplifying constant for the type system `Foo::B::{constant#0}`, completing the cycle
-note: cycle used when collecting item types in top-level module
-  --> $DIR/issue-36163.rs:1:1
-   |
-LL | / const A: isize = Foo::B as isize;
-LL | |
-LL | | enum Foo {
-LL | |     B = A,
-LL | | }
-LL | |
-LL | | fn main() {}
-   | |____________^
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0391`.
diff --git a/src/test/ui/issues/issue-38940.rs b/src/test/ui/issues/issue-38940.rs
deleted file mode 100644
index 3f10fc017a7..00000000000
--- a/src/test/ui/issues/issue-38940.rs
+++ /dev/null
@@ -1,46 +0,0 @@
-// issue-38940: error printed twice for deref recursion limit exceeded
-// Test that the recursion limit can be changed. In this case, we have
-// deeply nested types that will fail the `Send` check by overflow
-// when the recursion limit is set very low.
-#![allow(dead_code)]
-#![recursion_limit="10"]
-macro_rules! link {
-    ($outer:ident, $inner:ident) => {
-        struct $outer($inner);
-        impl $outer {
-            fn new() -> $outer {
-                $outer($inner::new())
-            }
-        }
-        impl std::ops::Deref for $outer {
-            type Target = $inner;
-            fn deref(&self) -> &$inner {
-                &self.0
-            }
-        }
-    }
-}
-struct Bottom;
-impl Bottom {
-    fn new() -> Bottom {
-        Bottom
-    }
-}
-link!(Top, A);
-link!(A, B);
-link!(B, C);
-link!(C, D);
-link!(D, E);
-link!(E, F);
-link!(F, G);
-link!(G, H);
-link!(H, I);
-link!(I, J);
-link!(J, K);
-link!(K, Bottom);
-fn main() {
-    let t = Top::new();
-    let x: &Bottom = &t;
-    //~^ ERROR mismatched types
-    //~| ERROR reached the recursion limit while auto-dereferencing `J`
-}
diff --git a/src/test/ui/issues/issue-38940.stderr b/src/test/ui/issues/issue-38940.stderr
deleted file mode 100644
index 0671cede73b..00000000000
--- a/src/test/ui/issues/issue-38940.stderr
+++ /dev/null
@@ -1,23 +0,0 @@
-error[E0055]: reached the recursion limit while auto-dereferencing `J`
-  --> $DIR/issue-38940.rs:43:22
-   |
-LL |     let x: &Bottom = &t;
-   |                      ^^ deref recursion limit reached
-   |
-   = help: consider adding a `#![recursion_limit="20"]` attribute to your crate (`issue_38940`)
-
-error[E0308]: mismatched types
-  --> $DIR/issue-38940.rs:43:22
-   |
-LL |     let x: &Bottom = &t;
-   |            -------   ^^ expected struct `Bottom`, found struct `Top`
-   |            |
-   |            expected due to this
-   |
-   = note: expected reference `&Bottom`
-              found reference `&Top`
-
-error: aborting due to 2 previous errors
-
-Some errors have detailed explanations: E0055, E0308.
-For more information about an error, try `rustc --explain E0055`.
diff --git a/src/test/ui/issues/issue-40469.rs b/src/test/ui/issues/issue-40469.rs
deleted file mode 100644
index 25e08ef85e9..00000000000
--- a/src/test/ui/issues/issue-40469.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-// run-pass
-// ignore-pretty issue #37195
-
-#![allow(dead_code)]
-
-include!("auxiliary/issue-40469.rs");
-fn f() { m!(); }
-
-fn main() {}
diff --git a/src/test/ui/issues/issue-41803.rs b/src/test/ui/issues/issue-41803.rs
deleted file mode 100644
index 19ab81d04d0..00000000000
--- a/src/test/ui/issues/issue-41803.rs
+++ /dev/null
@@ -1,21 +0,0 @@
-// run-pass
-/// A compile-time map from identifiers to arbitrary (heterogeneous) expressions
-macro_rules! ident_map {
-    ( $name:ident = { $($key:ident => $e:expr,)* } ) => {
-        macro_rules! $name {
-            $(
-                ( $key ) => { $e };
-            )*
-            // Empty invocation expands to nothing. Needed when the map is empty.
-            () => {};
-        }
-    };
-}
-
-ident_map!(my_map = {
-    main => 0,
-});
-
-fn main() {
-    my_map!(main);
-}
diff --git a/src/test/ui/issues/issue-43105.rs b/src/test/ui/issues/issue-43105.rs
deleted file mode 100644
index cc6a4850853..00000000000
--- a/src/test/ui/issues/issue-43105.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-fn xyz() -> u8 { 42 }
-
-const NUM: u8 = xyz();
-//~^ ERROR calls in constants are limited to constant functions, tuple structs and tuple variants
-
-fn main() {
-    match 1 {
-        NUM => unimplemented!(),
-        //~^ ERROR could not evaluate constant pattern
-        //~| ERROR could not evaluate constant pattern
-        _ => unimplemented!(),
-    }
-}
diff --git a/src/test/ui/issues/issue-43105.stderr b/src/test/ui/issues/issue-43105.stderr
deleted file mode 100644
index e508cbdd1dd..00000000000
--- a/src/test/ui/issues/issue-43105.stderr
+++ /dev/null
@@ -1,21 +0,0 @@
-error[E0015]: calls in constants are limited to constant functions, tuple structs and tuple variants
-  --> $DIR/issue-43105.rs:3:17
-   |
-LL | const NUM: u8 = xyz();
-   |                 ^^^^^
-
-error: could not evaluate constant pattern
-  --> $DIR/issue-43105.rs:8:9
-   |
-LL |         NUM => unimplemented!(),
-   |         ^^^
-
-error: could not evaluate constant pattern
-  --> $DIR/issue-43105.rs:8:9
-   |
-LL |         NUM => unimplemented!(),
-   |         ^^^
-
-error: aborting due to 3 previous errors
-
-For more information about this error, try `rustc --explain E0015`.
diff --git a/src/test/ui/issues/issue-43196.rs b/src/test/ui/issues/issue-43196.rs
deleted file mode 100644
index 0eefa01ce6d..00000000000
--- a/src/test/ui/issues/issue-43196.rs
+++ /dev/null
@@ -1,6 +0,0 @@
-fn main() {
-    |
-}
-//~^ ERROR expected `|`, found `}`
-|
-//~^ ERROR expected item, found `|`
diff --git a/src/test/ui/issues/issue-43196.stderr b/src/test/ui/issues/issue-43196.stderr
deleted file mode 100644
index 4f7ed5cc6fd..00000000000
--- a/src/test/ui/issues/issue-43196.stderr
+++ /dev/null
@@ -1,16 +0,0 @@
-error: expected `|`, found `}`
-  --> $DIR/issue-43196.rs:3:1
-   |
-LL |     |
-   |      - expected `|`
-LL | }
-   | ^ unexpected token
-
-error: expected item, found `|`
-  --> $DIR/issue-43196.rs:5:1
-   |
-LL | |
-   | ^ expected item
-
-error: aborting due to 2 previous errors
-
diff --git a/src/test/ui/issues/issue-43398.rs b/src/test/ui/issues/issue-43398.rs
deleted file mode 100644
index 581db033f92..00000000000
--- a/src/test/ui/issues/issue-43398.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-// run-pass
-
-#![feature(core_intrinsics)]
-#![feature(repr128)]
-//~^ WARN the feature `repr128` is incomplete
-
-#[repr(i128)]
-enum Big { A, B }
-
-fn main() {
-    println!("{} {:?}",
-        std::intrinsics::discriminant_value(&Big::A),
-        std::mem::discriminant(&Big::B));
-}
diff --git a/src/test/ui/issues/issue-43398.stderr b/src/test/ui/issues/issue-43398.stderr
deleted file mode 100644
index 9a394153bf6..00000000000
--- a/src/test/ui/issues/issue-43398.stderr
+++ /dev/null
@@ -1,11 +0,0 @@
-warning: the feature `repr128` is incomplete and may not be safe to use and/or cause compiler crashes
-  --> $DIR/issue-43398.rs:4:12
-   |
-LL | #![feature(repr128)]
-   |            ^^^^^^^
-   |
-   = note: `#[warn(incomplete_features)]` on by default
-   = note: see issue #56071 <https://github.com/rust-lang/rust/issues/56071> for more information
-
-warning: 1 warning emitted
-
diff --git a/src/test/ui/issues/issue-44021.rs b/src/test/ui/issues/issue-44021.rs
deleted file mode 100644
index 0b9558cc91e..00000000000
--- a/src/test/ui/issues/issue-44021.rs
+++ /dev/null
@@ -1,6 +0,0 @@
-struct MyStruct;
-impl MyStruct {
-    fn f() {|x, y} //~ ERROR expected one of `:`, `@`, or `|`, found `}`
-}
-
-fn main() {}
diff --git a/src/test/ui/issues/issue-44021.stderr b/src/test/ui/issues/issue-44021.stderr
deleted file mode 100644
index b888cd989a6..00000000000
--- a/src/test/ui/issues/issue-44021.stderr
+++ /dev/null
@@ -1,8 +0,0 @@
-error: expected one of `:`, `@`, or `|`, found `}`
-  --> $DIR/issue-44021.rs:3:18
-   |
-LL |     fn f() {|x, y}
-   |                  ^ expected one of `:`, `@`, or `|`
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/issues/issue-45087-unreachable-unsafe.rs b/src/test/ui/issues/issue-45087-unreachable-unsafe.rs
deleted file mode 100644
index 5edf7a47e2f..00000000000
--- a/src/test/ui/issues/issue-45087-unreachable-unsafe.rs
+++ /dev/null
@@ -1,5 +0,0 @@
-fn main() {
-    return;
-    *(1 as *mut u32) = 42;
-    //~^ ERROR dereference of raw pointer is unsafe
-}
diff --git a/src/test/ui/issues/issue-45087-unreachable-unsafe.stderr b/src/test/ui/issues/issue-45087-unreachable-unsafe.stderr
deleted file mode 100644
index d112d7f4661..00000000000
--- a/src/test/ui/issues/issue-45087-unreachable-unsafe.stderr
+++ /dev/null
@@ -1,11 +0,0 @@
-error[E0133]: dereference of raw pointer is unsafe and requires unsafe function or block
-  --> $DIR/issue-45087-unreachable-unsafe.rs:3:5
-   |
-LL |     *(1 as *mut u32) = 42;
-   |     ^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
-   |
-   = note: raw pointers may be NULL, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0133`.
diff --git a/src/test/ui/issues/issue-45199.rs b/src/test/ui/issues/issue-45199.rs
deleted file mode 100644
index cbd45cbb619..00000000000
--- a/src/test/ui/issues/issue-45199.rs
+++ /dev/null
@@ -1,24 +0,0 @@
-fn test_drop_replace() {
-    let b: Box<isize>;
-    //~^ HELP make this binding mutable
-    //~| SUGGESTION mut b
-    b = Box::new(1);    //~ NOTE first assignment
-    b = Box::new(2);    //~ ERROR cannot assign twice to immutable variable `b`
-                        //~| NOTE cannot assign twice to immutable
-}
-
-fn test_call() {
-    let b = Box::new(1);    //~ NOTE first assignment
-                            //~| HELP make this binding mutable
-                            //~| SUGGESTION mut b
-    b = Box::new(2);        //~ ERROR cannot assign twice to immutable variable `b`
-                            //~| NOTE cannot assign twice to immutable
-}
-
-fn test_args(b: Box<i32>) {  //~ HELP make this binding mutable
-                                //~| SUGGESTION mut b
-    b = Box::new(2);            //~ ERROR cannot assign to immutable argument `b`
-                                //~| NOTE cannot assign to immutable argument
-}
-
-fn main() {}
diff --git a/src/test/ui/issues/issue-45199.stderr b/src/test/ui/issues/issue-45199.stderr
deleted file mode 100644
index 83b634051bb..00000000000
--- a/src/test/ui/issues/issue-45199.stderr
+++ /dev/null
@@ -1,35 +0,0 @@
-error[E0384]: cannot assign twice to immutable variable `b`
-  --> $DIR/issue-45199.rs:6:5
-   |
-LL |     let b: Box<isize>;
-   |         - help: make this binding mutable: `mut b`
-...
-LL |     b = Box::new(1);
-   |     - first assignment to `b`
-LL |     b = Box::new(2);
-   |     ^ cannot assign twice to immutable variable
-
-error[E0384]: cannot assign twice to immutable variable `b`
-  --> $DIR/issue-45199.rs:14:5
-   |
-LL |     let b = Box::new(1);
-   |         -
-   |         |
-   |         first assignment to `b`
-   |         help: make this binding mutable: `mut b`
-...
-LL |     b = Box::new(2);
-   |     ^ cannot assign twice to immutable variable
-
-error[E0384]: cannot assign to immutable argument `b`
-  --> $DIR/issue-45199.rs:20:5
-   |
-LL | fn test_args(b: Box<i32>) {
-   |              - help: make this binding mutable: `mut b`
-LL |
-LL |     b = Box::new(2);
-   |     ^ cannot assign to immutable argument
-
-error: aborting due to 3 previous errors
-
-For more information about this error, try `rustc --explain E0384`.
diff --git a/src/test/ui/issues/issue-45296.rs b/src/test/ui/issues/issue-45296.rs
deleted file mode 100644
index f242c1d2937..00000000000
--- a/src/test/ui/issues/issue-45296.rs
+++ /dev/null
@@ -1,5 +0,0 @@
-fn main() {
-    let unused = ();
-
-    #![allow(unused_variables)] //~ ERROR not permitted in this context
-}
diff --git a/src/test/ui/issues/issue-45296.stderr b/src/test/ui/issues/issue-45296.stderr
deleted file mode 100644
index c0d4ce1243e..00000000000
--- a/src/test/ui/issues/issue-45296.stderr
+++ /dev/null
@@ -1,10 +0,0 @@
-error: an inner attribute is not permitted in this context
-  --> $DIR/issue-45296.rs:4:5
-   |
-LL |     #![allow(unused_variables)]
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = note: inner attributes, like `#![no_std]`, annotate the item enclosing them, and are usually found at the beginning of source files. Outer attributes, like `#[test]`, annotate the item following them.
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/issues/issue-45696-long-live-borrows-in-boxes.rs b/src/test/ui/issues/issue-45696-long-live-borrows-in-boxes.rs
deleted file mode 100644
index b3f655628ba..00000000000
--- a/src/test/ui/issues/issue-45696-long-live-borrows-in-boxes.rs
+++ /dev/null
@@ -1,114 +0,0 @@
-// rust-lang/rust#45696: This test is checking that we can return
-// mutable borrows owned by boxes even when the boxes are dropped.
-
-// run-pass
-
-// This function shows quite directly what is going on: We have a
-// reborrow of contents within the box.
-fn return_borrow_from_dropped_box_1(x: Box<&mut u32>) -> &mut u32 { &mut **x }
-
-// This function is the way you'll probably see this in practice (the
-// reborrow is now implicit).
-fn return_borrow_from_dropped_box_2(x: Box<&mut u32>) -> &mut u32 { *x }
-
-// For the remaining tests we just add some fields or other
-// indirection to ensure that the compiler isn't just special-casing
-// the above `Box<&mut T>` as the only type that would work.
-
-// Here we add a tuple of indirection between the box and the
-// reference.
-type BoxedTup<'a, 'b> = Box<(&'a mut u32, &'b mut u32)>;
-
-fn return_borrow_of_field_from_dropped_box_1<'a>(x: BoxedTup<'a, '_>) -> &'a mut u32 {
-    &mut *x.0
-}
-
-fn return_borrow_of_field_from_dropped_box_2<'a>(x: BoxedTup<'a, '_>) -> &'a mut u32 {
-    x.0
-}
-
-fn return_borrow_from_dropped_tupled_box_1<'a>(x: (BoxedTup<'a, '_>, &mut u32)) -> &'a mut u32 {
-    &mut *(x.0).0
-}
-
-fn return_borrow_from_dropped_tupled_box_2<'a>(x: (BoxedTup<'a, '_>, &mut u32)) -> &'a mut u32 {
-    (x.0).0
-}
-
-fn basic_tests() {
-    let mut x = 2;
-    let mut y = 3;
-    let mut z = 4;
-    *return_borrow_from_dropped_box_1(Box::new(&mut x)) += 10;
-    assert_eq!((x, y, z), (12, 3, 4));
-    *return_borrow_from_dropped_box_2(Box::new(&mut x)) += 10;
-    assert_eq!((x, y, z), (22, 3, 4));
-    *return_borrow_of_field_from_dropped_box_1(Box::new((&mut x, &mut y))) += 10;
-    assert_eq!((x, y, z), (32, 3, 4));
-    *return_borrow_of_field_from_dropped_box_2(Box::new((&mut x, &mut y))) += 10;
-    assert_eq!((x, y, z), (42, 3, 4));
-    *return_borrow_from_dropped_tupled_box_1((Box::new((&mut x, &mut y)), &mut z)) += 10;
-    assert_eq!((x, y, z), (52, 3, 4));
-    *return_borrow_from_dropped_tupled_box_2((Box::new((&mut x, &mut y)), &mut z)) += 10;
-    assert_eq!((x, y, z), (62, 3, 4));
-}
-
-// These scribbling tests have been transcribed from
-// issue-45696-scribble-on-boxed-borrow.rs
-//
-// In the context of that file, these tests are meant to show cases
-// that should be *accepted* by the compiler, so here we are actually
-// checking that the code we get when they are compiled matches our
-// expectations.
-
-struct Scribble<'a>(&'a mut u32);
-
-impl<'a> Drop for Scribble<'a> { fn drop(&mut self) { *self.0 = 42; } }
-
-// this is okay, in both AST-borrowck and NLL: The `Scribble` here *has*
-// to strictly outlive `'a`
-fn borrowed_scribble<'a>(s: &'a mut Scribble) -> &'a mut u32 {
-    &mut *s.0
-}
-
-// this, by analogy to previous case, is also okay.
-fn boxed_borrowed_scribble<'a>(s: Box<&'a mut Scribble>) -> &'a mut u32 {
-    &mut *(*s).0
-}
-
-// this, by analogy to previous case, is also okay.
-fn boxed_boxed_borrowed_scribble<'a>(s: Box<Box<&'a mut Scribble>>) -> &'a mut u32 {
-    &mut *(**s).0
-}
-
-fn scribbling_tests() {
-    let mut x = 1;
-    {
-        let mut long_lived = Scribble(&mut x);
-        *borrowed_scribble(&mut long_lived) += 10;
-        assert_eq!(*long_lived.0, 11);
-        // (Scribble dtor runs here, after `&mut`-borrow above ends)
-    }
-    assert_eq!(x, 42);
-    x = 1;
-    {
-        let mut long_lived = Scribble(&mut x);
-        *boxed_borrowed_scribble(Box::new(&mut long_lived)) += 10;
-        assert_eq!(*long_lived.0, 11);
-        // (Scribble dtor runs here, after `&mut`-borrow above ends)
-    }
-    assert_eq!(x, 42);
-    x = 1;
-    {
-        let mut long_lived = Scribble(&mut x);
-        *boxed_boxed_borrowed_scribble(Box::new(Box::new(&mut long_lived))) += 10;
-        assert_eq!(*long_lived.0, 11);
-        // (Scribble dtor runs here, after `&mut`-borrow above ends)
-    }
-    assert_eq!(x, 42);
-}
-
-fn main() {
-    basic_tests();
-    scribbling_tests();
-}
diff --git a/src/test/ui/issues/issue-46186.fixed b/src/test/ui/issues/issue-46186.fixed
deleted file mode 100644
index 2cb5a4996ee..00000000000
--- a/src/test/ui/issues/issue-46186.fixed
+++ /dev/null
@@ -1,8 +0,0 @@
-// run-rustfix
-
-pub struct Struct {
-    pub a: usize,
-}
-//~^ ERROR expected item, found `;`
-
-fn main() {}
diff --git a/src/test/ui/issues/issue-46186.rs b/src/test/ui/issues/issue-46186.rs
deleted file mode 100644
index 84cad38c5ec..00000000000
--- a/src/test/ui/issues/issue-46186.rs
+++ /dev/null
@@ -1,8 +0,0 @@
-// run-rustfix
-
-pub struct Struct {
-    pub a: usize,
-};
-//~^ ERROR expected item, found `;`
-
-fn main() {}
diff --git a/src/test/ui/issues/issue-46186.stderr b/src/test/ui/issues/issue-46186.stderr
deleted file mode 100644
index 0766c8a33df..00000000000
--- a/src/test/ui/issues/issue-46186.stderr
+++ /dev/null
@@ -1,10 +0,0 @@
-error: expected item, found `;`
-  --> $DIR/issue-46186.rs:5:2
-   |
-LL | };
-   |  ^ help: remove this semicolon
-   |
-   = help: braced struct declarations are not followed by a semicolon
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/issues/issue-46471.rs b/src/test/ui/issues/issue-46471.rs
deleted file mode 100644
index 8922005d2f8..00000000000
--- a/src/test/ui/issues/issue-46471.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-fn foo() -> &'static u32 {
-    let x = 0;
-    &x
-    //~^ ERROR cannot return reference to local variable `x` [E0515]
-}
-
-fn main() { }
diff --git a/src/test/ui/issues/issue-46471.stderr b/src/test/ui/issues/issue-46471.stderr
deleted file mode 100644
index 935414c1f3f..00000000000
--- a/src/test/ui/issues/issue-46471.stderr
+++ /dev/null
@@ -1,9 +0,0 @@
-error[E0515]: cannot return reference to local variable `x`
-  --> $DIR/issue-46471.rs:3:5
-   |
-LL |     &x
-   |     ^^ returns a reference to data owned by the current function
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0515`.
diff --git a/src/test/ui/issues/issue-47789.rs b/src/test/ui/issues/issue-47789.rs
deleted file mode 100644
index 32dd909b2e9..00000000000
--- a/src/test/ui/issues/issue-47789.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-// check-pass
-#![allow(non_upper_case_globals)]
-
-static mut x: &'static u32 = &0;
-
-fn foo() {
-    unsafe { x = &1; }
-}
-
-fn main() { }
diff --git a/src/test/ui/issues/issue-48551.rs b/src/test/ui/issues/issue-48551.rs
deleted file mode 100644
index b95a4832bb2..00000000000
--- a/src/test/ui/issues/issue-48551.rs
+++ /dev/null
@@ -1,34 +0,0 @@
-// check-pass
-// Regression test for #48551. Covers a case where duplicate candidates
-// arose during associated type projection.
-
-use std::ops::{Mul, MulAssign};
-
-pub trait ClosedMul<Right>: Sized + Mul<Right, Output = Self> + MulAssign<Right> {}
-impl<T, Right> ClosedMul<Right> for T
-where
-    T: Mul<Right, Output = T> + MulAssign<Right>,
-{
-}
-
-pub trait InnerSpace: ClosedMul<<Self as InnerSpace>::Real> {
-    type Real;
-}
-
-pub trait FiniteDimVectorSpace: ClosedMul<<Self as FiniteDimVectorSpace>::Field> {
-    type Field;
-}
-
-pub trait FiniteDimInnerSpace
-    : InnerSpace + FiniteDimVectorSpace<Field = <Self as InnerSpace>::Real> {
-}
-
-pub trait EuclideanSpace: ClosedMul<<Self as EuclideanSpace>::Real> {
-    type Coordinates: FiniteDimInnerSpace<Real = Self::Real>
-        + Mul<Self::Real, Output = Self::Coordinates>
-        + MulAssign<Self::Real>;
-
-    type Real;
-}
-
-fn main() {}
diff --git a/src/test/ui/issues/issue-50301.rs b/src/test/ui/issues/issue-50301.rs
deleted file mode 100644
index 4fcb41485d0..00000000000
--- a/src/test/ui/issues/issue-50301.rs
+++ /dev/null
@@ -1,32 +0,0 @@
-// Tests that HRTBs are correctly accepted -- https://github.com/rust-lang/rust/issues/50301
-// check-pass
-// ignore-compare-mode-chalk
-trait Trait
-where
-    for<'a> &'a Self::IntoIter: IntoIterator<Item = u32>,
-{
-    type IntoIter;
-    fn get(&self) -> Self::IntoIter;
-}
-
-struct Impl(Vec<u32>);
-
-impl Trait for Impl {
-    type IntoIter = ImplIntoIter;
-    fn get(&self) -> Self::IntoIter {
-        ImplIntoIter(self.0.clone())
-    }
-}
-
-struct ImplIntoIter(Vec<u32>);
-
-impl<'a> IntoIterator for &'a ImplIntoIter {
-    type Item = <Self::IntoIter as Iterator>::Item;
-    type IntoIter = std::iter::Cloned<std::slice::Iter<'a, u32>>;
-    fn into_iter(self) -> Self::IntoIter {
-        (&self.0).into_iter().cloned()
-    }
-}
-
-fn main() {
-}
diff --git a/src/test/ui/issues/issue-5060.rs b/src/test/ui/issues/issue-5060.rs
deleted file mode 100644
index c4760bc029b..00000000000
--- a/src/test/ui/issues/issue-5060.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-// run-pass
-macro_rules! print_hd_tl {
-    ($field_hd:ident, $($field_tl:ident),+) => ({
-        print!("{}", stringify!($field_hd));
-        print!("::[");
-        $(
-            print!("{}", stringify!($field_tl));
-            print!(", ");
-        )+
-        print!("]\n");
-    })
-}
-
-pub fn main() {
-    print_hd_tl!(x, y, z, w)
-}
diff --git a/src/test/ui/issues/issue-51345-2.rs b/src/test/ui/issues/issue-51345-2.rs
deleted file mode 100644
index 52f342a8500..00000000000
--- a/src/test/ui/issues/issue-51345-2.rs
+++ /dev/null
@@ -1,8 +0,0 @@
-// run-fail
-// error-pattern: thread 'main' panicked at 'explicit panic'
-// ignore-emscripten no processes
-
-fn main() {
-    let mut vec = vec![];
-    vec.push((vec.len(), panic!()));
-}
diff --git a/src/test/ui/issues/issue-51602.rs b/src/test/ui/issues/issue-51602.rs
deleted file mode 100644
index 0e96ca914a9..00000000000
--- a/src/test/ui/issues/issue-51602.rs
+++ /dev/null
@@ -1,6 +0,0 @@
-fn main(){
-    if i in 1..10 {
-//~^ ERROR expected `{`, found keyword `in`
-        break;
-    }
-}
diff --git a/src/test/ui/issues/issue-51602.stderr b/src/test/ui/issues/issue-51602.stderr
deleted file mode 100644
index d800890bca3..00000000000
--- a/src/test/ui/issues/issue-51602.stderr
+++ /dev/null
@@ -1,10 +0,0 @@
-error: expected `{`, found keyword `in`
-  --> $DIR/issue-51602.rs:2:10
-   |
-LL |     if i in 1..10 {
-   |     --   ^^ expected `{`
-   |     |
-   |     this `if` expression has a condition, but no block
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/issues/issue-51770.rs b/src/test/ui/issues/issue-51770.rs
deleted file mode 100644
index bcb37a5f4ff..00000000000
--- a/src/test/ui/issues/issue-51770.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-// check-pass
-
-#![crate_type = "lib"]
-
-// In an older version, when NLL was still a feature, the following previously did not compile
-// #![feature(nll)]
-
-use std::ops::Index;
-
-pub struct Test<T> {
-    a: T,
-}
-
-impl<T> Index<usize> for Test<T> {
-    type Output = T;
-
-    fn index(&self, _index: usize) -> &Self::Output {
-        &self.a
-    }
-}
diff --git a/src/test/ui/issues/issue-52023-array-size-pointer-cast.rs b/src/test/ui/issues/issue-52023-array-size-pointer-cast.rs
deleted file mode 100644
index cc756ce815f..00000000000
--- a/src/test/ui/issues/issue-52023-array-size-pointer-cast.rs
+++ /dev/null
@@ -1,3 +0,0 @@
-fn main() {
-    let _ = [0; (&0 as *const i32) as usize]; //~ ERROR casting pointers to integers in constants
-}
diff --git a/src/test/ui/issues/issue-52023-array-size-pointer-cast.stderr b/src/test/ui/issues/issue-52023-array-size-pointer-cast.stderr
deleted file mode 100644
index 68b5cbd9bd7..00000000000
--- a/src/test/ui/issues/issue-52023-array-size-pointer-cast.stderr
+++ /dev/null
@@ -1,12 +0,0 @@
-error[E0658]: casting pointers to integers in constants is unstable
-  --> $DIR/issue-52023-array-size-pointer-cast.rs:2:17
-   |
-LL |     let _ = [0; (&0 as *const i32) as usize];
-   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = note: see issue #51910 <https://github.com/rust-lang/rust/issues/51910> for more information
-   = help: add `#![feature(const_raw_ptr_to_usize_cast)]` to the crate attributes to enable
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0658`.
diff --git a/src/test/ui/issues/issue-5243.rs b/src/test/ui/issues/issue-5243.rs
deleted file mode 100644
index c511d45f02d..00000000000
--- a/src/test/ui/issues/issue-5243.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-// run-pass
-#![allow(dead_code)]
-// Check that merely having lifetime parameters is not
-// enough for codegen to consider this as non-monomorphic,
-// which led to various assertions and failures in turn.
-
-// pretty-expanded FIXME #23616
-
-struct S<'a> {
-    v: &'a isize
-}
-
-fn f<'lt>(_s: &'lt S<'lt>) {}
-
-pub fn main() {
-    f(& S { v: &42 });
-}
diff --git a/src/test/ui/issues/issue-52496.rs b/src/test/ui/issues/issue-52496.rs
deleted file mode 100644
index 4e945365373..00000000000
--- a/src/test/ui/issues/issue-52496.rs
+++ /dev/null
@@ -1,12 +0,0 @@
-struct Foo { bar: f64, baz: i64, bat: i64 }
-
-fn main() {
-    let _ = Foo { bar: .5, baz: 42 };
-    //~^ ERROR float literals must have an integer part
-    //~| ERROR missing field `bat` in initializer of `Foo`
-    let bar = 1.5f32;
-    let _ = Foo { bar.into(), bat: -1, . };
-    //~^ ERROR expected one of
-    //~| ERROR missing fields `bar`, `baz` in initializer of `Foo`
-    //~| ERROR expected identifier, found `.`
-}
diff --git a/src/test/ui/issues/issue-52496.stderr b/src/test/ui/issues/issue-52496.stderr
deleted file mode 100644
index 10fcc46f344..00000000000
--- a/src/test/ui/issues/issue-52496.stderr
+++ /dev/null
@@ -1,37 +0,0 @@
-error: float literals must have an integer part
-  --> $DIR/issue-52496.rs:4:24
-   |
-LL |     let _ = Foo { bar: .5, baz: 42 };
-   |                        ^^ help: must have an integer part: `0.5`
-
-error: expected one of `,` or `}`, found `.`
-  --> $DIR/issue-52496.rs:8:22
-   |
-LL |     let _ = Foo { bar.into(), bat: -1, . };
-   |             ---      ^ expected one of `,` or `}`
-   |             |
-   |             while parsing this struct
-
-error: expected identifier, found `.`
-  --> $DIR/issue-52496.rs:8:40
-   |
-LL |     let _ = Foo { bar.into(), bat: -1, . };
-   |             ---                        ^ expected identifier
-   |             |
-   |             while parsing this struct
-
-error[E0063]: missing field `bat` in initializer of `Foo`
-  --> $DIR/issue-52496.rs:4:13
-   |
-LL |     let _ = Foo { bar: .5, baz: 42 };
-   |             ^^^ missing `bat`
-
-error[E0063]: missing fields `bar`, `baz` in initializer of `Foo`
-  --> $DIR/issue-52496.rs:8:13
-   |
-LL |     let _ = Foo { bar.into(), bat: -1, . };
-   |             ^^^ missing `bar`, `baz`
-
-error: aborting due to 5 previous errors
-
-For more information about this error, try `rustc --explain E0063`.
diff --git a/src/test/ui/issues/issue-54943-3.rs b/src/test/ui/issues/issue-54943-3.rs
deleted file mode 100644
index e6c2611b683..00000000000
--- a/src/test/ui/issues/issue-54943-3.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-// check-pass
-// FIXME(#54943) This test targets the scenario where proving the WF requirements requires
-// knowing the value of the `_` type present in the user type annotation - unfortunately, figuring
-// out the value of that `_` requires type-checking the surrounding code, but that code is dead,
-// so our NLL region checker doesn't have access to it. This test should actually fail to compile.
-
-#![feature(nll)]
-#![allow(warnings)]
-
-use std::fmt::Debug;
-
-fn foo<T: 'static + Debug>(_: T) { }
-
-fn bar<'a>() {
-    return;
-
-    let _x = foo::<Vec<_>>(Vec::<&'a u32>::new());
-}
-
-fn main() {}
diff --git a/src/test/ui/issues/issue-55511.rs b/src/test/ui/issues/issue-55511.rs
deleted file mode 100644
index 7dfa9c7bcdf..00000000000
--- a/src/test/ui/issues/issue-55511.rs
+++ /dev/null
@@ -1,19 +0,0 @@
-#![warn(indirect_structural_match)]
-use std::cell::Cell;
-trait Foo<'a> {
-    const C: Option<Cell<&'a u32>>;
-}
-
-impl<'a, T> Foo<'a> for T {
-    const C: Option<Cell<&'a u32>> = None;
-}
-
-fn main() {
-    let a = 22;
-    let b = Some(Cell::new(&a));
-    //~^ ERROR `a` does not live long enough [E0597]
-    match b {
-        <() as Foo<'static>>::C => { }
-        _ => { }
-    }
-}
diff --git a/src/test/ui/issues/issue-55511.stderr b/src/test/ui/issues/issue-55511.stderr
deleted file mode 100644
index bf3e58e8cdb..00000000000
--- a/src/test/ui/issues/issue-55511.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error[E0597]: `a` does not live long enough
-  --> $DIR/issue-55511.rs:13:28
-   |
-LL |     let b = Some(Cell::new(&a));
-   |                            ^^ borrowed value does not live long enough
-...
-LL |         <() as Foo<'static>>::C => { }
-   |         ----------------------- type annotation requires that `a` is borrowed for `'static`
-...
-LL | }
-   | - `a` dropped here while still borrowed
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0597`.
diff --git a/src/test/ui/issues/issue-58435-ice-with-assoc-const.rs b/src/test/ui/issues/issue-58435-ice-with-assoc-const.rs
deleted file mode 100644
index fac727d2d7d..00000000000
--- a/src/test/ui/issues/issue-58435-ice-with-assoc-const.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-// run-pass
-// The const-evaluator was at one point ICE'ing while trying to
-// evaluate the body of `fn id` during the `s.id()` call in main.
-
-struct S<T>(T);
-
-impl<T> S<T> {
-    const ID: fn(&S<T>) -> &S<T> = |s| s;
-    pub fn id(&self) -> &Self {
-        Self::ID(self) // This, plus call below ...
-    }
-}
-
-fn main() {
-    let s = S(10u32);
-    assert!(S::<u32>::ID(&s).0 == 10); // Works fine
-    assert!(s.id().0 == 10); // ... causes compiler to panic
-}
diff --git a/src/test/ui/issues/issue-58856-2.rs b/src/test/ui/issues/issue-58856-2.rs
deleted file mode 100644
index 9356d57b0e5..00000000000
--- a/src/test/ui/issues/issue-58856-2.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-struct Empty;
-
-trait Howness {}
-
-impl Howness for () {
-    fn how_are_you(&self -> Empty {
-    //~^ ERROR expected one of `)` or `,`, found `->`
-    //~| ERROR method `how_are_you` is not a member of trait `Howness`
-        Empty
-    }
-}
-//~^ ERROR non-item in item list
-
-fn main() {}
diff --git a/src/test/ui/issues/issue-58856-2.stderr b/src/test/ui/issues/issue-58856-2.stderr
deleted file mode 100644
index 303b5eacc32..00000000000
--- a/src/test/ui/issues/issue-58856-2.stderr
+++ /dev/null
@@ -1,34 +0,0 @@
-error: expected one of `)` or `,`, found `->`
-  --> $DIR/issue-58856-2.rs:6:26
-   |
-LL |     fn how_are_you(&self -> Empty {
-   |                   -     -^^
-   |                   |     |
-   |                   |     help: `)` may belong here
-   |                   unclosed delimiter
-
-error: non-item in item list
-  --> $DIR/issue-58856-2.rs:11:1
-   |
-LL | impl Howness for () {
-   |                     - item list starts here
-...
-LL | }
-   | ^
-   | |
-   | non-item starts here
-   | item list ends here
-
-error[E0407]: method `how_are_you` is not a member of trait `Howness`
-  --> $DIR/issue-58856-2.rs:6:5
-   |
-LL | /     fn how_are_you(&self -> Empty {
-LL | |
-LL | |
-LL | |         Empty
-LL | |     }
-   | |_____^ not a member of trait `Howness`
-
-error: aborting due to 3 previous errors
-
-For more information about this error, try `rustc --explain E0407`.
diff --git a/src/test/ui/issues/issue-60075.rs b/src/test/ui/issues/issue-60075.rs
deleted file mode 100644
index e89d78ee8a6..00000000000
--- a/src/test/ui/issues/issue-60075.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-fn main() {}
-
-trait T {
-    fn qux() -> Option<usize> {
-        let _ = if true {
-        });
-//~^ ERROR non-item in item list
-//~| ERROR mismatched closing delimiter: `)`
-//~| ERROR expected one of `.`, `;`
-        Some(4)
-    }
diff --git a/src/test/ui/issues/issue-60075.stderr b/src/test/ui/issues/issue-60075.stderr
deleted file mode 100644
index e3b7f4ad420..00000000000
--- a/src/test/ui/issues/issue-60075.stderr
+++ /dev/null
@@ -1,29 +0,0 @@
-error: expected one of `.`, `;`, `?`, `else`, or an operator, found `}`
-  --> $DIR/issue-60075.rs:6:10
-   |
-LL |         });
-   |          ^ expected one of `.`, `;`, `?`, `else`, or an operator
-
-error: non-item in item list
-  --> $DIR/issue-60075.rs:6:11
-   |
-LL | trait T {
-   |         - item list starts here
-...
-LL |         });
-   |           ^ non-item starts here
-...
-LL |     }
-   |     - item list ends here
-
-error: mismatched closing delimiter: `)`
-  --> $DIR/issue-60075.rs:6:10
-   |
-LL |     fn qux() -> Option<usize> {
-   |                               - unclosed delimiter
-LL |         let _ = if true {
-LL |         });
-   |          ^ mismatched closing delimiter
-
-error: aborting due to 3 previous errors
-
diff --git a/src/test/ui/issues/issue-62554.rs b/src/test/ui/issues/issue-62554.rs
deleted file mode 100644
index cfd02183cb4..00000000000
--- a/src/test/ui/issues/issue-62554.rs
+++ /dev/null
@@ -1,6 +0,0 @@
-// error-pattern:this file contains an unclosed delimiter
-// error-pattern:xpected `{`, found `macro_rules`
-
-fn main() {}
-
-fn foo(u: u8) { if u8 macro_rules! u8 { (u6) => { fn uuuuuuuuuuu() { use s loo mod u8 {
diff --git a/src/test/ui/issues/issue-62554.stderr b/src/test/ui/issues/issue-62554.stderr
deleted file mode 100644
index 935d3842cdf..00000000000
--- a/src/test/ui/issues/issue-62554.stderr
+++ /dev/null
@@ -1,71 +0,0 @@
-error: this file contains an unclosed delimiter
-  --> $DIR/issue-62554.rs:6:89
-   |
-LL | fn foo(u: u8) { if u8 macro_rules! u8 { (u6) => { fn uuuuuuuuuuu() { use s loo mod u8 {
-   |               -                       -         -                  -                  - ^
-   |               |                       |         |                  |                  |
-   |               |                       |         |                  |                  unclosed delimiter
-   |               |                       |         |                  unclosed delimiter
-   |               |                       |         unclosed delimiter
-   |               unclosed delimiter      unclosed delimiter
-
-error: this file contains an unclosed delimiter
-  --> $DIR/issue-62554.rs:6:89
-   |
-LL | fn foo(u: u8) { if u8 macro_rules! u8 { (u6) => { fn uuuuuuuuuuu() { use s loo mod u8 {
-   |               -                       -         -                  -                  - ^
-   |               |                       |         |                  |                  |
-   |               |                       |         |                  |                  unclosed delimiter
-   |               |                       |         |                  unclosed delimiter
-   |               |                       |         unclosed delimiter
-   |               unclosed delimiter      unclosed delimiter
-
-error: this file contains an unclosed delimiter
-  --> $DIR/issue-62554.rs:6:89
-   |
-LL | fn foo(u: u8) { if u8 macro_rules! u8 { (u6) => { fn uuuuuuuuuuu() { use s loo mod u8 {
-   |               -                       -         -                  -                  - ^
-   |               |                       |         |                  |                  |
-   |               |                       |         |                  |                  unclosed delimiter
-   |               |                       |         |                  unclosed delimiter
-   |               |                       |         unclosed delimiter
-   |               unclosed delimiter      unclosed delimiter
-
-error: this file contains an unclosed delimiter
-  --> $DIR/issue-62554.rs:6:89
-   |
-LL | fn foo(u: u8) { if u8 macro_rules! u8 { (u6) => { fn uuuuuuuuuuu() { use s loo mod u8 {
-   |               -                       -         -                  -                  - ^
-   |               |                       |         |                  |                  |
-   |               |                       |         |                  |                  unclosed delimiter
-   |               |                       |         |                  unclosed delimiter
-   |               |                       |         unclosed delimiter
-   |               unclosed delimiter      unclosed delimiter
-
-error: this file contains an unclosed delimiter
-  --> $DIR/issue-62554.rs:6:89
-   |
-LL | fn foo(u: u8) { if u8 macro_rules! u8 { (u6) => { fn uuuuuuuuuuu() { use s loo mod u8 {
-   |               -                       -         -                  -                  - ^
-   |               |                       |         |                  |                  |
-   |               |                       |         |                  |                  unclosed delimiter
-   |               |                       |         |                  unclosed delimiter
-   |               |                       |         unclosed delimiter
-   |               unclosed delimiter      unclosed delimiter
-
-error: expected `{`, found `macro_rules`
-  --> $DIR/issue-62554.rs:6:23
-   |
-LL | fn foo(u: u8) { if u8 macro_rules! u8 { (u6) => { fn uuuuuuuuuuu() { use s loo mod u8 {
-   |                 --    ^^^^^^^^^^^ expected `{`
-   |                 |
-   |                 this `if` expression has a condition, but no block
-   |
-help: try placing this code inside a block
-   |
-LL | fn foo(u: u8) { if u8 { macro_rules! u8 { (u6) => { fn uuuuuuuuuuu() { use s loo mod u8 {
-LL |  }
-   |
-
-error: aborting due to 6 previous errors
-
diff --git a/src/test/ui/issues/issue-6334.rs b/src/test/ui/issues/issue-6334.rs
deleted file mode 100644
index acf48da1543..00000000000
--- a/src/test/ui/issues/issue-6334.rs
+++ /dev/null
@@ -1,46 +0,0 @@
-// run-pass
-// Tests that everything still compiles and runs fine even when
-// we reorder the bounds.
-
-
-trait A {
-    fn a(&self) -> usize;
-}
-
-trait B {
-    fn b(&self) -> usize;
-}
-
-trait C {
-    fn combine<T:A+B>(&self, t: &T) -> usize;
-}
-
-struct Foo;
-
-impl A for Foo {
-    fn a(&self) -> usize { 1 }
-}
-
-impl B for Foo {
-    fn b(&self) -> usize { 2 }
-}
-
-struct Bar;
-
-impl C for Bar {
-    // Note below: bounds in impl decl are in reverse order.
-    fn combine<T:B+A>(&self, t: &T) -> usize {
-        (t.a() * 100) + t.b()
-    }
-}
-
-fn use_c<S:C, T:B+A>(s: &S, t: &T) -> usize {
-    s.combine(t)
-}
-
-pub fn main() {
-    let foo = Foo;
-    let bar = Bar;
-    let r = use_c(&bar, &foo);
-    assert_eq!(r, 102);
-}
diff --git a/src/test/ui/issues/issue-6449.rs b/src/test/ui/issues/issue-6449.rs
deleted file mode 100644
index bfd4c123208..00000000000
--- a/src/test/ui/issues/issue-6449.rs
+++ /dev/null
@@ -1,44 +0,0 @@
-// run-pass
-#![allow(dead_code)]
-
-enum Foo {
-    Bar(isize),
-    Baz,
-}
-
-enum Other {
-    Other1(Foo),
-    Other2(Foo, Foo),
-}
-
-fn main() {
-    match Foo::Baz {
-        ::Foo::Bar(3) => panic!(),
-        ::Foo::Bar(_) if false => panic!(),
-        ::Foo::Bar(..) if false => panic!(),
-        ::Foo::Bar(_n) => panic!(),
-        ::Foo::Baz => {}
-    }
-    match Foo::Bar(3) {
-        ::Foo::Bar(3) => {}
-        ::Foo::Bar(_) if false => panic!(),
-        ::Foo::Bar(..) if false => panic!(),
-        ::Foo::Bar(_n) => panic!(),
-        ::Foo::Baz => panic!(),
-    }
-    match Foo::Bar(4) {
-        ::Foo::Bar(3) => panic!(),
-        ::Foo::Bar(_) if false => panic!(),
-        ::Foo::Bar(..) if false => panic!(),
-        ::Foo::Bar(n) => assert_eq!(n, 4),
-        ::Foo::Baz => panic!(),
-    }
-
-    match Other::Other1(Foo::Baz) {
-        ::Other::Other1(::Foo::Baz) => {}
-        ::Other::Other1(::Foo::Bar(_)) => {}
-        ::Other::Other2(::Foo::Baz, ::Foo::Bar(_)) => {}
-        ::Other::Other2(::Foo::Bar(..), ::Foo::Baz) => {}
-        ::Other::Other2(..) => {}
-    }
-}
diff --git a/src/test/ui/issues/issue-65673.rs b/src/test/ui/issues/issue-65673.rs
deleted file mode 100644
index 4b47bd493a5..00000000000
--- a/src/test/ui/issues/issue-65673.rs
+++ /dev/null
@@ -1,12 +0,0 @@
-#![feature(trait_alias)] // Enabled to reduce stderr output, but can be triggered even if disabled.
-trait Trait {}
-trait WithType {
-    type Ctx;
-}
-trait Alias<T> = where T: Trait;
-
-impl<T> WithType for T {
-    type Ctx = dyn Alias<T>;
-//~^ ERROR the size for values of type `(dyn Trait + 'static)` cannot be known at compilation time
-}
-fn main() {}
diff --git a/src/test/ui/issues/issue-65673.stderr b/src/test/ui/issues/issue-65673.stderr
deleted file mode 100644
index 64cc0bab3f3..00000000000
--- a/src/test/ui/issues/issue-65673.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error[E0277]: the size for values of type `(dyn Trait + 'static)` cannot be known at compilation time
-  --> $DIR/issue-65673.rs:9:5
-   |
-LL |     type Ctx;
-   |     --------- required by this bound in `WithType::Ctx`
-...
-LL |     type Ctx = dyn Alias<T>;
-   |     ^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
-   |
-   = help: the trait `Sized` is not implemented for `(dyn Trait + 'static)`
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0277`.
diff --git a/src/test/ui/issues/issue-66473.rs b/src/test/ui/issues/issue-66473.rs
deleted file mode 100644
index 9db4521bb42..00000000000
--- a/src/test/ui/issues/issue-66473.rs
+++ /dev/null
Binary files differdiff --git a/src/test/ui/issues/issue-66473.stderr b/src/test/ui/issues/issue-66473.stderr
deleted file mode 100644
index b370b125cfe..00000000000
--- a/src/test/ui/issues/issue-66473.stderr
+++ /dev/null
Binary files differdiff --git a/src/test/ui/issues/issue-66851.rs b/src/test/ui/issues/issue-66851.rs
deleted file mode 100644
index 72d62a30a33..00000000000
--- a/src/test/ui/issues/issue-66851.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-// This used to mis-compile because the mir-opt `SimplifyArmIdentity`
-// did not check that the types matched up in the `Ok(r)` branch.
-//
-// run-pass
-// compile-flags: -Zmir-opt-level=2
-
-#[derive(Debug, PartialEq, Eq)]
-enum SpecialsRes { Res(u64) }
-
-fn e103() -> SpecialsRes {
-    if let Ok(r) = "1".parse() {
-        SpecialsRes::Res(r)
-    } else {
-        SpecialsRes::Res(42)
-    }
-}
-
-fn main() {
-    assert_eq!(e103(), SpecialsRes::Res(1));
-}
diff --git a/src/test/ui/issues/issue-67037-pat-tup-scrut-ty-diff-less-fields.rs b/src/test/ui/issues/issue-67037-pat-tup-scrut-ty-diff-less-fields.rs
deleted file mode 100644
index a3023ee906d..00000000000
--- a/src/test/ui/issues/issue-67037-pat-tup-scrut-ty-diff-less-fields.rs
+++ /dev/null
@@ -1,21 +0,0 @@
-// Regression test for #67037.
-//
-// In type checking patterns, E0023 occurs when the tuple pattern and the expected
-// tuple pattern have different number of fields. For example, as below, `P()`,
-// the tuple struct pattern, has 0 fields, but requires 1 field.
-//
-// In emitting E0023, we try to see if this is a case of e.g., `Some(a, b, c)` but where
-// the scrutinee was of type `Some((a, b, c))`, and suggest that parenthesis be added.
-//
-// However, we did not account for the expected type being different than the tuple pattern type.
-// This caused an issue when the tuple pattern type (`P<T>`) was generic.
-// Specifically, we tried deriving the 0th field's type using the `substs` of the expected type.
-// When attempting to substitute `T`, there was no such substitution, so "out of range" occurred.
-
-struct U {} // 0 type parameters offered
-struct P<T>(T); // 1 type parameter wanted
-
-fn main() {
-    let P() = U {}; //~ ERROR mismatched types
-    //~^ ERROR this pattern has 0 fields, but the corresponding tuple struct has 1 field
-}
diff --git a/src/test/ui/issues/issue-67037-pat-tup-scrut-ty-diff-less-fields.stderr b/src/test/ui/issues/issue-67037-pat-tup-scrut-ty-diff-less-fields.stderr
deleted file mode 100644
index 9bdbf0bf9f4..00000000000
--- a/src/test/ui/issues/issue-67037-pat-tup-scrut-ty-diff-less-fields.stderr
+++ /dev/null
@@ -1,33 +0,0 @@
-error[E0308]: mismatched types
-  --> $DIR/issue-67037-pat-tup-scrut-ty-diff-less-fields.rs:19:9
-   |
-LL |     let P() = U {};
-   |         ^^^   ---- this expression has type `U`
-   |         |
-   |         expected struct `U`, found struct `P`
-   |
-   = note: expected struct `U`
-              found struct `P<_>`
-
-error[E0023]: this pattern has 0 fields, but the corresponding tuple struct has 1 field
-  --> $DIR/issue-67037-pat-tup-scrut-ty-diff-less-fields.rs:19:9
-   |
-LL | struct P<T>(T); // 1 type parameter wanted
-   | --------------- tuple struct defined here
-...
-LL |     let P() = U {};
-   |         ^^^ expected 1 field, found 0
-   |
-help: use `_` to explicitly ignore each field
-   |
-LL |     let P(_) = U {};
-   |           ^
-help: use `..` to ignore all fields
-   |
-LL |     let P(..) = U {};
-   |           ^^
-
-error: aborting due to 2 previous errors
-
-Some errors have detailed explanations: E0023, E0308.
-For more information about an error, try `rustc --explain E0023`.
diff --git a/src/test/ui/issues/issue-6991.rs b/src/test/ui/issues/issue-6991.rs
deleted file mode 100644
index f00cd9aeffd..00000000000
--- a/src/test/ui/issues/issue-6991.rs
+++ /dev/null
@@ -1,8 +0,0 @@
-// check-pass
-#![allow(dead_code)]
-#![allow(non_upper_case_globals)]
-
-static x: &'static usize = &1;
-static y: usize = *x;
-
-fn main() {}
diff --git a/src/test/ui/issues/issue-72253.rs b/src/test/ui/issues/issue-72253.rs
deleted file mode 100644
index 6f9af73b039..00000000000
--- a/src/test/ui/issues/issue-72253.rs
+++ /dev/null
@@ -1,6 +0,0 @@
-fn main() {
-    let a = std::process::Command::new("echo")
-        .arg("1")
-        ,arg("2") //~ ERROR expected one of `.`, `;`, `?`, or an operator, found `,`
-        .output();
-}
diff --git a/src/test/ui/issues/issue-72253.stderr b/src/test/ui/issues/issue-72253.stderr
deleted file mode 100644
index 3819fd92a9e..00000000000
--- a/src/test/ui/issues/issue-72253.stderr
+++ /dev/null
@@ -1,10 +0,0 @@
-error: expected one of `.`, `;`, `?`, or an operator, found `,`
-  --> $DIR/issue-72253.rs:4:9
-   |
-LL |         .arg("1")
-   |                  - expected one of `.`, `;`, `?`, or an operator
-LL |         ,arg("2")
-   |         ^ unexpected token
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/issues/issue-72373.rs b/src/test/ui/issues/issue-72373.rs
deleted file mode 100644
index 4da6061c27f..00000000000
--- a/src/test/ui/issues/issue-72373.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-fn foo(c: &[u32], n: u32) -> u32 {
-    match *c {
-        [h, ..] if h > n => 0,
-        [h, ..] if h == n => 1,
-        [h, ref ts..] => foo(c, n - h) + foo(ts, n),
-        //~^ ERROR expected one of `,`, `@`, `]`, or `|`, found `..`
-        [] => 0,
-    }
-}
diff --git a/src/test/ui/issues/issue-72373.stderr b/src/test/ui/issues/issue-72373.stderr
deleted file mode 100644
index dfde8624814..00000000000
--- a/src/test/ui/issues/issue-72373.stderr
+++ /dev/null
@@ -1,13 +0,0 @@
-error: expected one of `,`, `@`, `]`, or `|`, found `..`
-  --> $DIR/issue-72373.rs:5:19
-   |
-LL |         [h, ref ts..] => foo(c, n - h) + foo(ts, n),
-   |                   ^^ expected one of `,`, `@`, `]`, or `|`
-   |
-help: if you meant to bind the contents of the rest of the array pattern into `ts`, use `@`
-   |
-LL |         [h, ref ts @ ..] => foo(c, n - h) + foo(ts, n),
-   |                    ^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/issues/issue-73899.rs b/src/test/ui/issues/issue-73899.rs
deleted file mode 100644
index 2a3a5ab2a3b..00000000000
--- a/src/test/ui/issues/issue-73899.rs
+++ /dev/null
@@ -1,21 +0,0 @@
-// run-pass
-#![feature(const_evaluatable_checked)]
-#![feature(const_generics)]
-#![allow(incomplete_features)]
-
-trait Foo {}
-
-impl<const N: usize> Foo for [(); N] where Self: FooImpl<{ N == 0 }> {}
-
-trait FooImpl<const IS_ZERO: bool> {}
-
-impl FooImpl<{ 0u8 == 0u8 }> for [(); 0] {}
-
-impl<const N: usize> FooImpl<{ 0u8 != 0u8 }> for [(); N] {}
-
-fn foo<T: Foo>(_v: T) {}
-
-fn main() {
-    foo([]);
-    foo([()]);
-}
diff --git a/src/test/ui/issues/issue-75599.rs b/src/test/ui/issues/issue-75599.rs
deleted file mode 100644
index 0857676e4ed..00000000000
--- a/src/test/ui/issues/issue-75599.rs
+++ /dev/null
@@ -1,24 +0,0 @@
-// check-pass
-#![allow(non_upper_case_globals)]
-
-const or: usize = 1;
-const and: usize = 2;
-
-mod or {
-    pub const X: usize = 3;
-}
-
-mod and {
-    pub const X: usize = 4;
-}
-
-fn main() {
-    match 0 {
-        0 => {}
-        or => {}
-        and => {}
-        or::X => {}
-        and::X => {}
-        _ => {}
-    }
-}
diff --git a/src/test/ui/issues/issue-75763.rs b/src/test/ui/issues/issue-75763.rs
deleted file mode 100644
index c311de05a1c..00000000000
--- a/src/test/ui/issues/issue-75763.rs
+++ /dev/null
@@ -1,16 +0,0 @@
-// ignore-test
-// FIXME(const_generics): This test causes an ICE after reverting #76030.
-
-#![allow(incomplete_features)]
-#![feature(const_generics)]
-
-struct Bug<const S: &'static str>;
-
-fn main() {
-    let b: Bug::<{
-        unsafe {
-            // FIXME(const_generics): Decide on how to deal with invalid values as const params.
-            std::mem::transmute::<&[u8], &str>(&[0xC0, 0xC1, 0xF5])
-        }
-    }>;
-}
diff --git a/src/test/ui/issues/issue-76547.nll.stderr b/src/test/ui/issues/issue-76547.nll.stderr
deleted file mode 100644
index 2456d6a1474..00000000000
--- a/src/test/ui/issues/issue-76547.nll.stderr
+++ /dev/null
@@ -1,20 +0,0 @@
-error: lifetime may not live long enough
-  --> $DIR/issue-76547.rs:19:14
-   |
-LL | async fn fut(bufs: &mut [&mut [u8]]) {
-   |              ^^^^  -     - let's call the lifetime of this reference `'2`
-   |              |     |
-   |              |     let's call the lifetime of this reference `'1`
-   |              assignment requires that `'1` must outlive `'2`
-
-error: lifetime may not live long enough
-  --> $DIR/issue-76547.rs:33:15
-   |
-LL | async fn fut2(bufs: &mut [&mut [u8]]) -> i32 {
-   |               ^^^^  -     - let's call the lifetime of this reference `'2`
-   |               |     |
-   |               |     let's call the lifetime of this reference `'1`
-   |               assignment requires that `'1` must outlive `'2`
-
-error: aborting due to 2 previous errors
-
diff --git a/src/test/ui/issues/issue-76547.rs b/src/test/ui/issues/issue-76547.rs
deleted file mode 100644
index 5b3ee5b95c4..00000000000
--- a/src/test/ui/issues/issue-76547.rs
+++ /dev/null
@@ -1,38 +0,0 @@
-// Test for diagnostic improvement issue #76547
-// edition:2018
-
-use std::{
-    future::Future,
-    task::{Context, Poll}
-};
-use std::pin::Pin;
-
-pub struct ListFut<'a>(&'a mut [&'a mut [u8]]);
-impl<'a> Future for ListFut<'a> {
-    type Output = ();
-
-    fn poll(self: Pin<&mut Self>, _cx: &mut Context) -> Poll<Self::Output> {
-        unimplemented!()
-    }
-}
-
-async fn fut(bufs: &mut [&mut [u8]]) {
-    ListFut(bufs).await
-    //~^ ERROR lifetime mismatch
-}
-
-pub struct ListFut2<'a>(&'a mut [&'a mut [u8]]);
-impl<'a> Future for ListFut2<'a> {
-    type Output = i32;
-
-    fn poll(self: Pin<&mut Self>, _cx: &mut Context) -> Poll<Self::Output> {
-        unimplemented!()
-    }
-}
-
-async fn fut2(bufs: &mut [&mut [u8]]) -> i32 {
-    ListFut2(bufs).await
-    //~^ ERROR lifetime mismatch
-}
-
-fn main() {}
diff --git a/src/test/ui/issues/issue-76547.stderr b/src/test/ui/issues/issue-76547.stderr
deleted file mode 100644
index 9bfb0f28028..00000000000
--- a/src/test/ui/issues/issue-76547.stderr
+++ /dev/null
@@ -1,25 +0,0 @@
-error[E0623]: lifetime mismatch
-  --> $DIR/issue-76547.rs:20:13
-   |
-LL | async fn fut(bufs: &mut [&mut [u8]]) {
-   |                          ---------   -
-   |                          |           |
-   |                          |           this `async fn` implicitly returns an `impl Future<Output = ()>`
-   |                          this parameter and the returned future are declared with different lifetimes...
-LL |     ListFut(bufs).await
-   |             ^^^^ ...but data from `bufs` is held across an await point here
-
-error[E0623]: lifetime mismatch
-  --> $DIR/issue-76547.rs:34:14
-   |
-LL | async fn fut2(bufs: &mut [&mut [u8]]) -> i32 {
-   |                           ---------      ---
-   |                           |              |
-   |                           |              this `async fn` implicitly returns an `impl Future<Output = i32>`
-   |                           this parameter and the returned future are declared with different lifetimes...
-LL |     ListFut2(bufs).await
-   |              ^^^^ ...but data from `bufs` is held across an await point here
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0623`.
diff --git a/src/test/ui/issues/issue-8460-const.noopt.stderr b/src/test/ui/issues/issue-8460-const.noopt.stderr
deleted file mode 100644
index d94c7742de3..00000000000
--- a/src/test/ui/issues/issue-8460-const.noopt.stderr
+++ /dev/null
@@ -1,150 +0,0 @@
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:13:36
-   |
-LL |     assert!(thread::spawn(move|| { isize::MIN / -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^^^^ attempt to compute `isize::MIN / -1_isize`, which would overflow
-   |
-   = note: `#[deny(arithmetic_overflow)]` on by default
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:15:36
-   |
-LL |     assert!(thread::spawn(move|| { i8::MIN / -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^ attempt to compute `i8::MIN / -1_i8`, which would overflow
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:17:36
-   |
-LL |     assert!(thread::spawn(move|| { i16::MIN / -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^^ attempt to compute `i16::MIN / -1_i16`, which would overflow
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:19:36
-   |
-LL |     assert!(thread::spawn(move|| { i32::MIN / -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^^ attempt to compute `i32::MIN / -1_i32`, which would overflow
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:21:36
-   |
-LL |     assert!(thread::spawn(move|| { i64::MIN / -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^^ attempt to compute `i64::MIN / -1_i64`, which would overflow
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:23:36
-   |
-LL |     assert!(thread::spawn(move|| { i128::MIN / -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^^^ attempt to compute `i128::MIN / -1_i128`, which would overflow
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:25:36
-   |
-LL |     assert!(thread::spawn(move|| { 1isize / 0; }).join().is_err());
-   |                                    ^^^^^^^^^^ attempt to divide `1_isize` by zero
-   |
-   = note: `#[deny(unconditional_panic)]` on by default
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:27:36
-   |
-LL |     assert!(thread::spawn(move|| { 1i8 / 0; }).join().is_err());
-   |                                    ^^^^^^^ attempt to divide `1_i8` by zero
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:29:36
-   |
-LL |     assert!(thread::spawn(move|| { 1i16 / 0; }).join().is_err());
-   |                                    ^^^^^^^^ attempt to divide `1_i16` by zero
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:31:36
-   |
-LL |     assert!(thread::spawn(move|| { 1i32 / 0; }).join().is_err());
-   |                                    ^^^^^^^^ attempt to divide `1_i32` by zero
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:33:36
-   |
-LL |     assert!(thread::spawn(move|| { 1i64 / 0; }).join().is_err());
-   |                                    ^^^^^^^^ attempt to divide `1_i64` by zero
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:35:36
-   |
-LL |     assert!(thread::spawn(move|| { 1i128 / 0; }).join().is_err());
-   |                                    ^^^^^^^^^ attempt to divide `1_i128` by zero
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:37:36
-   |
-LL |     assert!(thread::spawn(move|| { isize::MIN % -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^^^^ attempt to compute the remainder of `isize::MIN % -1_isize`, which would overflow
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:39:36
-   |
-LL |     assert!(thread::spawn(move|| { i8::MIN % -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^ attempt to compute the remainder of `i8::MIN % -1_i8`, which would overflow
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:41:36
-   |
-LL |     assert!(thread::spawn(move|| { i16::MIN % -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^^ attempt to compute the remainder of `i16::MIN % -1_i16`, which would overflow
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:43:36
-   |
-LL |     assert!(thread::spawn(move|| { i32::MIN % -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^^ attempt to compute the remainder of `i32::MIN % -1_i32`, which would overflow
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:45:36
-   |
-LL |     assert!(thread::spawn(move|| { i64::MIN % -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^^ attempt to compute the remainder of `i64::MIN % -1_i64`, which would overflow
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:47:36
-   |
-LL |     assert!(thread::spawn(move|| { i128::MIN % -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^^^ attempt to compute the remainder of `i128::MIN % -1_i128`, which would overflow
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:49:36
-   |
-LL |     assert!(thread::spawn(move|| { 1isize % 0; }).join().is_err());
-   |                                    ^^^^^^^^^^ attempt to calculate the remainder of `1_isize` with a divisor of zero
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:51:36
-   |
-LL |     assert!(thread::spawn(move|| { 1i8 % 0; }).join().is_err());
-   |                                    ^^^^^^^ attempt to calculate the remainder of `1_i8` with a divisor of zero
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:53:36
-   |
-LL |     assert!(thread::spawn(move|| { 1i16 % 0; }).join().is_err());
-   |                                    ^^^^^^^^ attempt to calculate the remainder of `1_i16` with a divisor of zero
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:55:36
-   |
-LL |     assert!(thread::spawn(move|| { 1i32 % 0; }).join().is_err());
-   |                                    ^^^^^^^^ attempt to calculate the remainder of `1_i32` with a divisor of zero
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:57:36
-   |
-LL |     assert!(thread::spawn(move|| { 1i64 % 0; }).join().is_err());
-   |                                    ^^^^^^^^ attempt to calculate the remainder of `1_i64` with a divisor of zero
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:59:36
-   |
-LL |     assert!(thread::spawn(move|| { 1i128 % 0; }).join().is_err());
-   |                                    ^^^^^^^^^ attempt to calculate the remainder of `1_i128` with a divisor of zero
-
-error: aborting due to 24 previous errors
-
diff --git a/src/test/ui/issues/issue-8460-const.opt.stderr b/src/test/ui/issues/issue-8460-const.opt.stderr
deleted file mode 100644
index d94c7742de3..00000000000
--- a/src/test/ui/issues/issue-8460-const.opt.stderr
+++ /dev/null
@@ -1,150 +0,0 @@
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:13:36
-   |
-LL |     assert!(thread::spawn(move|| { isize::MIN / -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^^^^ attempt to compute `isize::MIN / -1_isize`, which would overflow
-   |
-   = note: `#[deny(arithmetic_overflow)]` on by default
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:15:36
-   |
-LL |     assert!(thread::spawn(move|| { i8::MIN / -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^ attempt to compute `i8::MIN / -1_i8`, which would overflow
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:17:36
-   |
-LL |     assert!(thread::spawn(move|| { i16::MIN / -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^^ attempt to compute `i16::MIN / -1_i16`, which would overflow
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:19:36
-   |
-LL |     assert!(thread::spawn(move|| { i32::MIN / -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^^ attempt to compute `i32::MIN / -1_i32`, which would overflow
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:21:36
-   |
-LL |     assert!(thread::spawn(move|| { i64::MIN / -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^^ attempt to compute `i64::MIN / -1_i64`, which would overflow
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:23:36
-   |
-LL |     assert!(thread::spawn(move|| { i128::MIN / -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^^^ attempt to compute `i128::MIN / -1_i128`, which would overflow
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:25:36
-   |
-LL |     assert!(thread::spawn(move|| { 1isize / 0; }).join().is_err());
-   |                                    ^^^^^^^^^^ attempt to divide `1_isize` by zero
-   |
-   = note: `#[deny(unconditional_panic)]` on by default
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:27:36
-   |
-LL |     assert!(thread::spawn(move|| { 1i8 / 0; }).join().is_err());
-   |                                    ^^^^^^^ attempt to divide `1_i8` by zero
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:29:36
-   |
-LL |     assert!(thread::spawn(move|| { 1i16 / 0; }).join().is_err());
-   |                                    ^^^^^^^^ attempt to divide `1_i16` by zero
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:31:36
-   |
-LL |     assert!(thread::spawn(move|| { 1i32 / 0; }).join().is_err());
-   |                                    ^^^^^^^^ attempt to divide `1_i32` by zero
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:33:36
-   |
-LL |     assert!(thread::spawn(move|| { 1i64 / 0; }).join().is_err());
-   |                                    ^^^^^^^^ attempt to divide `1_i64` by zero
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:35:36
-   |
-LL |     assert!(thread::spawn(move|| { 1i128 / 0; }).join().is_err());
-   |                                    ^^^^^^^^^ attempt to divide `1_i128` by zero
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:37:36
-   |
-LL |     assert!(thread::spawn(move|| { isize::MIN % -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^^^^ attempt to compute the remainder of `isize::MIN % -1_isize`, which would overflow
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:39:36
-   |
-LL |     assert!(thread::spawn(move|| { i8::MIN % -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^ attempt to compute the remainder of `i8::MIN % -1_i8`, which would overflow
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:41:36
-   |
-LL |     assert!(thread::spawn(move|| { i16::MIN % -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^^ attempt to compute the remainder of `i16::MIN % -1_i16`, which would overflow
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:43:36
-   |
-LL |     assert!(thread::spawn(move|| { i32::MIN % -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^^ attempt to compute the remainder of `i32::MIN % -1_i32`, which would overflow
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:45:36
-   |
-LL |     assert!(thread::spawn(move|| { i64::MIN % -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^^ attempt to compute the remainder of `i64::MIN % -1_i64`, which would overflow
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:47:36
-   |
-LL |     assert!(thread::spawn(move|| { i128::MIN % -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^^^ attempt to compute the remainder of `i128::MIN % -1_i128`, which would overflow
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:49:36
-   |
-LL |     assert!(thread::spawn(move|| { 1isize % 0; }).join().is_err());
-   |                                    ^^^^^^^^^^ attempt to calculate the remainder of `1_isize` with a divisor of zero
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:51:36
-   |
-LL |     assert!(thread::spawn(move|| { 1i8 % 0; }).join().is_err());
-   |                                    ^^^^^^^ attempt to calculate the remainder of `1_i8` with a divisor of zero
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:53:36
-   |
-LL |     assert!(thread::spawn(move|| { 1i16 % 0; }).join().is_err());
-   |                                    ^^^^^^^^ attempt to calculate the remainder of `1_i16` with a divisor of zero
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:55:36
-   |
-LL |     assert!(thread::spawn(move|| { 1i32 % 0; }).join().is_err());
-   |                                    ^^^^^^^^ attempt to calculate the remainder of `1_i32` with a divisor of zero
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:57:36
-   |
-LL |     assert!(thread::spawn(move|| { 1i64 % 0; }).join().is_err());
-   |                                    ^^^^^^^^ attempt to calculate the remainder of `1_i64` with a divisor of zero
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:59:36
-   |
-LL |     assert!(thread::spawn(move|| { 1i128 % 0; }).join().is_err());
-   |                                    ^^^^^^^^^ attempt to calculate the remainder of `1_i128` with a divisor of zero
-
-error: aborting due to 24 previous errors
-
diff --git a/src/test/ui/issues/issue-8460-const.opt_with_overflow_checks.stderr b/src/test/ui/issues/issue-8460-const.opt_with_overflow_checks.stderr
deleted file mode 100644
index d94c7742de3..00000000000
--- a/src/test/ui/issues/issue-8460-const.opt_with_overflow_checks.stderr
+++ /dev/null
@@ -1,150 +0,0 @@
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:13:36
-   |
-LL |     assert!(thread::spawn(move|| { isize::MIN / -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^^^^ attempt to compute `isize::MIN / -1_isize`, which would overflow
-   |
-   = note: `#[deny(arithmetic_overflow)]` on by default
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:15:36
-   |
-LL |     assert!(thread::spawn(move|| { i8::MIN / -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^ attempt to compute `i8::MIN / -1_i8`, which would overflow
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:17:36
-   |
-LL |     assert!(thread::spawn(move|| { i16::MIN / -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^^ attempt to compute `i16::MIN / -1_i16`, which would overflow
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:19:36
-   |
-LL |     assert!(thread::spawn(move|| { i32::MIN / -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^^ attempt to compute `i32::MIN / -1_i32`, which would overflow
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:21:36
-   |
-LL |     assert!(thread::spawn(move|| { i64::MIN / -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^^ attempt to compute `i64::MIN / -1_i64`, which would overflow
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:23:36
-   |
-LL |     assert!(thread::spawn(move|| { i128::MIN / -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^^^ attempt to compute `i128::MIN / -1_i128`, which would overflow
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:25:36
-   |
-LL |     assert!(thread::spawn(move|| { 1isize / 0; }).join().is_err());
-   |                                    ^^^^^^^^^^ attempt to divide `1_isize` by zero
-   |
-   = note: `#[deny(unconditional_panic)]` on by default
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:27:36
-   |
-LL |     assert!(thread::spawn(move|| { 1i8 / 0; }).join().is_err());
-   |                                    ^^^^^^^ attempt to divide `1_i8` by zero
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:29:36
-   |
-LL |     assert!(thread::spawn(move|| { 1i16 / 0; }).join().is_err());
-   |                                    ^^^^^^^^ attempt to divide `1_i16` by zero
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:31:36
-   |
-LL |     assert!(thread::spawn(move|| { 1i32 / 0; }).join().is_err());
-   |                                    ^^^^^^^^ attempt to divide `1_i32` by zero
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:33:36
-   |
-LL |     assert!(thread::spawn(move|| { 1i64 / 0; }).join().is_err());
-   |                                    ^^^^^^^^ attempt to divide `1_i64` by zero
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:35:36
-   |
-LL |     assert!(thread::spawn(move|| { 1i128 / 0; }).join().is_err());
-   |                                    ^^^^^^^^^ attempt to divide `1_i128` by zero
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:37:36
-   |
-LL |     assert!(thread::spawn(move|| { isize::MIN % -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^^^^ attempt to compute the remainder of `isize::MIN % -1_isize`, which would overflow
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:39:36
-   |
-LL |     assert!(thread::spawn(move|| { i8::MIN % -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^ attempt to compute the remainder of `i8::MIN % -1_i8`, which would overflow
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:41:36
-   |
-LL |     assert!(thread::spawn(move|| { i16::MIN % -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^^ attempt to compute the remainder of `i16::MIN % -1_i16`, which would overflow
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:43:36
-   |
-LL |     assert!(thread::spawn(move|| { i32::MIN % -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^^ attempt to compute the remainder of `i32::MIN % -1_i32`, which would overflow
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:45:36
-   |
-LL |     assert!(thread::spawn(move|| { i64::MIN % -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^^ attempt to compute the remainder of `i64::MIN % -1_i64`, which would overflow
-
-error: this arithmetic operation will overflow
-  --> $DIR/issue-8460-const.rs:47:36
-   |
-LL |     assert!(thread::spawn(move|| { i128::MIN % -1; }).join().is_err());
-   |                                    ^^^^^^^^^^^^^^ attempt to compute the remainder of `i128::MIN % -1_i128`, which would overflow
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:49:36
-   |
-LL |     assert!(thread::spawn(move|| { 1isize % 0; }).join().is_err());
-   |                                    ^^^^^^^^^^ attempt to calculate the remainder of `1_isize` with a divisor of zero
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:51:36
-   |
-LL |     assert!(thread::spawn(move|| { 1i8 % 0; }).join().is_err());
-   |                                    ^^^^^^^ attempt to calculate the remainder of `1_i8` with a divisor of zero
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:53:36
-   |
-LL |     assert!(thread::spawn(move|| { 1i16 % 0; }).join().is_err());
-   |                                    ^^^^^^^^ attempt to calculate the remainder of `1_i16` with a divisor of zero
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:55:36
-   |
-LL |     assert!(thread::spawn(move|| { 1i32 % 0; }).join().is_err());
-   |                                    ^^^^^^^^ attempt to calculate the remainder of `1_i32` with a divisor of zero
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:57:36
-   |
-LL |     assert!(thread::spawn(move|| { 1i64 % 0; }).join().is_err());
-   |                                    ^^^^^^^^ attempt to calculate the remainder of `1_i64` with a divisor of zero
-
-error: this operation will panic at runtime
-  --> $DIR/issue-8460-const.rs:59:36
-   |
-LL |     assert!(thread::spawn(move|| { 1i128 % 0; }).join().is_err());
-   |                                    ^^^^^^^^^ attempt to calculate the remainder of `1_i128` with a divisor of zero
-
-error: aborting due to 24 previous errors
-
diff --git a/src/test/ui/issues/issue-8460-const.rs b/src/test/ui/issues/issue-8460-const.rs
deleted file mode 100644
index dc754666c8e..00000000000
--- a/src/test/ui/issues/issue-8460-const.rs
+++ /dev/null
@@ -1,61 +0,0 @@
-// revisions: noopt opt opt_with_overflow_checks
-//[noopt]compile-flags: -C opt-level=0
-//[opt]compile-flags: -O
-//[opt_with_overflow_checks]compile-flags: -C overflow-checks=on -O
-
-// build-fail
-
-#![deny(const_err)]
-
-use std::thread;
-
-fn main() {
-    assert!(thread::spawn(move|| { isize::MIN / -1; }).join().is_err());
-    //~^ ERROR arithmetic operation will overflow
-    assert!(thread::spawn(move|| { i8::MIN / -1; }).join().is_err());
-    //~^ ERROR arithmetic operation will overflow
-    assert!(thread::spawn(move|| { i16::MIN / -1; }).join().is_err());
-    //~^ ERROR arithmetic operation will overflow
-    assert!(thread::spawn(move|| { i32::MIN / -1; }).join().is_err());
-    //~^ ERROR arithmetic operation will overflow
-    assert!(thread::spawn(move|| { i64::MIN / -1; }).join().is_err());
-    //~^ ERROR arithmetic operation will overflow
-    assert!(thread::spawn(move|| { i128::MIN / -1; }).join().is_err());
-    //~^ ERROR arithmetic operation will overflow
-    assert!(thread::spawn(move|| { 1isize / 0; }).join().is_err());
-    //~^ ERROR operation will panic
-    assert!(thread::spawn(move|| { 1i8 / 0; }).join().is_err());
-    //~^ ERROR operation will panic
-    assert!(thread::spawn(move|| { 1i16 / 0; }).join().is_err());
-    //~^ ERROR operation will panic
-    assert!(thread::spawn(move|| { 1i32 / 0; }).join().is_err());
-    //~^ ERROR operation will panic
-    assert!(thread::spawn(move|| { 1i64 / 0; }).join().is_err());
-    //~^ ERROR operation will panic
-    assert!(thread::spawn(move|| { 1i128 / 0; }).join().is_err());
-    //~^ ERROR operation will panic
-    assert!(thread::spawn(move|| { isize::MIN % -1; }).join().is_err());
-    //~^ ERROR arithmetic operation will overflow
-    assert!(thread::spawn(move|| { i8::MIN % -1; }).join().is_err());
-    //~^ ERROR arithmetic operation will overflow
-    assert!(thread::spawn(move|| { i16::MIN % -1; }).join().is_err());
-    //~^ ERROR arithmetic operation will overflow
-    assert!(thread::spawn(move|| { i32::MIN % -1; }).join().is_err());
-    //~^ ERROR arithmetic operation will overflow
-    assert!(thread::spawn(move|| { i64::MIN % -1; }).join().is_err());
-    //~^ ERROR arithmetic operation will overflow
-    assert!(thread::spawn(move|| { i128::MIN % -1; }).join().is_err());
-    //~^ ERROR arithmetic operation will overflow
-    assert!(thread::spawn(move|| { 1isize % 0; }).join().is_err());
-    //~^ ERROR operation will panic
-    assert!(thread::spawn(move|| { 1i8 % 0; }).join().is_err());
-    //~^ ERROR operation will panic
-    assert!(thread::spawn(move|| { 1i16 % 0; }).join().is_err());
-    //~^ ERROR operation will panic
-    assert!(thread::spawn(move|| { 1i32 % 0; }).join().is_err());
-    //~^ ERROR operation will panic
-    assert!(thread::spawn(move|| { 1i64 % 0; }).join().is_err());
-    //~^ ERROR operation will panic
-    assert!(thread::spawn(move|| { 1i128 % 0; }).join().is_err());
-    //~^ ERROR operation will panic
-}
diff --git a/src/test/ui/issues/issue-8460.rs b/src/test/ui/issues/issue-8460.rs
deleted file mode 100644
index a7de4bd74aa..00000000000
--- a/src/test/ui/issues/issue-8460.rs
+++ /dev/null
@@ -1,51 +0,0 @@
-// run-pass
-#![allow(unused_must_use)]
-// ignore-emscripten no threads support
-#![feature(rustc_attrs)]
-
-use std::thread;
-
-trait Int {
-    fn zero() -> Self;
-    fn one() -> Self;
-}
-macro_rules! doit {
-    ($($t:ident)*) => ($(impl Int for $t {
-        fn zero() -> Self { 0 }
-        fn one() -> Self { 1 }
-    })*)
-}
-doit! { i8 i16 i32 i64 isize }
-
-macro_rules! check {
-    ($($e:expr),*) => {
-        $(assert!(thread::spawn({
-            move|| { $e; }
-        }).join().is_err());)*
-    }
-}
-
-fn main() {
-    check![
-        isize::MIN / -isize::one(),
-        i8::MIN / -i8::one(),
-        i16::MIN / -i16::one(),
-        i32::MIN / -i32::one(),
-        i64::MIN / -i64::one(),
-        1isize / isize::zero(),
-        1i8 / i8::zero(),
-        1i16 / i16::zero(),
-        1i32 / i32::zero(),
-        1i64 / i64::zero(),
-        isize::MIN % -isize::one(),
-        i8::MIN % -i8::one(),
-        i16::MIN % -i16::one(),
-        i32::MIN % -i32::one(),
-        i64::MIN % -i64::one(),
-        1isize % isize::zero(),
-        1i8 % i8::zero(),
-        1i16 % i16::zero(),
-        1i32 % i32::zero(),
-        1i64 % i64::zero()
-    ];
-}
diff --git a/src/test/ui/issues/issue-9394-inherited-trait-calls.rs b/src/test/ui/issues/issue-9394-inherited-trait-calls.rs
deleted file mode 100644
index cc0dd4fc14a..00000000000
--- a/src/test/ui/issues/issue-9394-inherited-trait-calls.rs
+++ /dev/null
@@ -1,62 +0,0 @@
-// run-pass
-
-trait Base: Base2 + Base3{
-    fn foo(&self) -> String;
-    fn foo1(&self) -> String;
-    fn foo2(&self) -> String{
-        "base foo2".to_string()
-    }
-}
-
-trait Base2: Base3{
-    fn baz(&self) -> String;
-}
-
-trait Base3{
-    fn root(&self) -> String;
-}
-
-trait Super: Base{
-    fn bar(&self) -> String;
-}
-
-struct X;
-
-impl Base for X {
-    fn foo(&self) -> String{
-        "base foo".to_string()
-    }
-    fn foo1(&self) -> String{
-        "base foo1".to_string()
-    }
-
-}
-
-impl Base2 for X {
-    fn baz(&self) -> String{
-        "base2 baz".to_string()
-    }
-}
-
-impl Base3 for X {
-    fn root(&self) -> String{
-        "base3 root".to_string()
-    }
-}
-
-impl Super for X {
-    fn bar(&self) -> String{
-        "super bar".to_string()
-    }
-}
-
-pub fn main() {
-    let n = X;
-    let s = &n as &dyn Super;
-    assert_eq!(s.bar(),"super bar".to_string());
-    assert_eq!(s.foo(),"base foo".to_string());
-    assert_eq!(s.foo1(),"base foo1".to_string());
-    assert_eq!(s.foo2(),"base foo2".to_string());
-    assert_eq!(s.baz(),"base2 baz".to_string());
-    assert_eq!(s.root(),"base3 root".to_string());
-}