about summary refs log tree commit diff
path: root/src/test/ui/impl-trait/issues
diff options
context:
space:
mode:
authorAlbert Larsan <74931857+albertlarsan68@users.noreply.github.com>2023-01-05 09:13:28 +0100
committerAlbert Larsan <74931857+albertlarsan68@users.noreply.github.com>2023-01-11 09:32:08 +0000
commitcf2dff2b1e3fa55fa5415d524200070d0d7aacfe (patch)
tree40a88d9a46aaf3e8870676eb2538378b75a263eb /src/test/ui/impl-trait/issues
parentca855e6e42787ecd062d81d53336fe6788ef51a9 (diff)
downloadrust-cf2dff2b1e3fa55fa5415d524200070d0d7aacfe.tar.gz
rust-cf2dff2b1e3fa55fa5415d524200070d0d7aacfe.zip
Move /src/test to /tests
Diffstat (limited to 'src/test/ui/impl-trait/issues')
-rw-r--r--src/test/ui/impl-trait/issues/infinite-impl-trait-issue-38064.rs25
-rw-r--r--src/test/ui/impl-trait/issues/infinite-impl-trait-issue-38064.stderr27
-rw-r--r--src/test/ui/impl-trait/issues/issue-104815.rs66
-rw-r--r--src/test/ui/impl-trait/issues/issue-21659-show-relevant-trait-impls-3.rs22
-rw-r--r--src/test/ui/impl-trait/issues/issue-21659-show-relevant-trait-impls-3.stderr19
-rw-r--r--src/test/ui/impl-trait/issues/issue-42479.rs17
-rw-r--r--src/test/ui/impl-trait/issues/issue-49376.rs23
-rw-r--r--src/test/ui/impl-trait/issues/issue-52128.rs25
-rw-r--r--src/test/ui/impl-trait/issues/issue-53457.rs14
-rw-r--r--src/test/ui/impl-trait/issues/issue-54600.rs7
-rw-r--r--src/test/ui/impl-trait/issues/issue-54600.stderr9
-rw-r--r--src/test/ui/impl-trait/issues/issue-54840.rs7
-rw-r--r--src/test/ui/impl-trait/issues/issue-54840.stderr9
-rw-r--r--src/test/ui/impl-trait/issues/issue-54895.rs22
-rw-r--r--src/test/ui/impl-trait/issues/issue-54895.stderr14
-rw-r--r--src/test/ui/impl-trait/issues/issue-55608-captures-empty-region.rs22
-rw-r--r--src/test/ui/impl-trait/issues/issue-57464-unexpected-regions.rs29
-rw-r--r--src/test/ui/impl-trait/issues/issue-57979-deeply-nested-impl-trait-in-assoc-proj.rs17
-rw-r--r--src/test/ui/impl-trait/issues/issue-57979-deeply-nested-impl-trait-in-assoc-proj.stderr12
-rw-r--r--src/test/ui/impl-trait/issues/issue-57979-impl-trait-in-path.rs12
-rw-r--r--src/test/ui/impl-trait/issues/issue-57979-impl-trait-in-path.stderr9
-rw-r--r--src/test/ui/impl-trait/issues/issue-57979-nested-impl-trait-in-assoc-proj.rs12
-rw-r--r--src/test/ui/impl-trait/issues/issue-57979-nested-impl-trait-in-assoc-proj.stderr12
-rw-r--r--src/test/ui/impl-trait/issues/issue-58504.rs12
-rw-r--r--src/test/ui/impl-trait/issues/issue-58504.stderr9
-rw-r--r--src/test/ui/impl-trait/issues/issue-58956.rs14
-rw-r--r--src/test/ui/impl-trait/issues/issue-58956.stderr15
-rw-r--r--src/test/ui/impl-trait/issues/issue-62742.rs32
-rw-r--r--src/test/ui/impl-trait/issues/issue-62742.stderr50
-rw-r--r--src/test/ui/impl-trait/issues/issue-65581.rs34
-rw-r--r--src/test/ui/impl-trait/issues/issue-67830.rs26
-rw-r--r--src/test/ui/impl-trait/issues/issue-67830.stderr14
-rw-r--r--src/test/ui/impl-trait/issues/issue-70877.rs36
-rw-r--r--src/test/ui/impl-trait/issues/issue-70877.stderr19
-rw-r--r--src/test/ui/impl-trait/issues/issue-70971.rs4
-rw-r--r--src/test/ui/impl-trait/issues/issue-70971.stderr9
-rw-r--r--src/test/ui/impl-trait/issues/issue-74282.rs11
-rw-r--r--src/test/ui/impl-trait/issues/issue-74282.stderr40
-rw-r--r--src/test/ui/impl-trait/issues/issue-77987.rs21
-rw-r--r--src/test/ui/impl-trait/issues/issue-78722.rs20
-rw-r--r--src/test/ui/impl-trait/issues/issue-78722.stderr28
-rw-r--r--src/test/ui/impl-trait/issues/issue-79099.rs10
-rw-r--r--src/test/ui/impl-trait/issues/issue-79099.stderr20
-rw-r--r--src/test/ui/impl-trait/issues/issue-82139.rs19
-rw-r--r--src/test/ui/impl-trait/issues/issue-82139.stderr9
-rw-r--r--src/test/ui/impl-trait/issues/issue-83919.rs32
-rw-r--r--src/test/ui/impl-trait/issues/issue-83919.stderr12
-rw-r--r--src/test/ui/impl-trait/issues/issue-83929-impl-trait-in-generic-default.rs12
-rw-r--r--src/test/ui/impl-trait/issues/issue-83929-impl-trait-in-generic-default.stderr15
-rw-r--r--src/test/ui/impl-trait/issues/issue-84073.rs33
-rw-r--r--src/test/ui/impl-trait/issues/issue-84073.stderr14
-rw-r--r--src/test/ui/impl-trait/issues/issue-84919.rs9
-rw-r--r--src/test/ui/impl-trait/issues/issue-84919.stderr9
-rw-r--r--src/test/ui/impl-trait/issues/issue-86201.rs13
-rw-r--r--src/test/ui/impl-trait/issues/issue-86642.rs8
-rw-r--r--src/test/ui/impl-trait/issues/issue-86642.stderr9
-rw-r--r--src/test/ui/impl-trait/issues/issue-86719.rs12
-rw-r--r--src/test/ui/impl-trait/issues/issue-86719.stderr29
-rw-r--r--src/test/ui/impl-trait/issues/issue-86800.rs55
-rw-r--r--src/test/ui/impl-trait/issues/issue-86800.stderr26
-rw-r--r--src/test/ui/impl-trait/issues/issue-87295.rs18
-rw-r--r--src/test/ui/impl-trait/issues/issue-87295.stderr9
-rw-r--r--src/test/ui/impl-trait/issues/issue-87340.rs14
-rw-r--r--src/test/ui/impl-trait/issues/issue-87340.stderr9
-rw-r--r--src/test/ui/impl-trait/issues/issue-88236-2.rs28
-rw-r--r--src/test/ui/impl-trait/issues/issue-88236-2.stderr38
-rw-r--r--src/test/ui/impl-trait/issues/issue-88236.rs18
-rw-r--r--src/test/ui/impl-trait/issues/issue-88236.stderr14
-rw-r--r--src/test/ui/impl-trait/issues/issue-89312.rs24
-rw-r--r--src/test/ui/impl-trait/issues/issue-92305.rs14
-rw-r--r--src/test/ui/impl-trait/issues/issue-92305.stderr14
-rw-r--r--src/test/ui/impl-trait/issues/issue-93788.rs27
-rw-r--r--src/test/ui/impl-trait/issues/issue-99348-impl-compatibility.rs26
-rw-r--r--src/test/ui/impl-trait/issues/issue-99348-impl-compatibility.stderr25
74 files changed, 0 insertions, 1449 deletions
diff --git a/src/test/ui/impl-trait/issues/infinite-impl-trait-issue-38064.rs b/src/test/ui/impl-trait/issues/infinite-impl-trait-issue-38064.rs
deleted file mode 100644
index 451ddb3cce0..00000000000
--- a/src/test/ui/impl-trait/issues/infinite-impl-trait-issue-38064.rs
+++ /dev/null
@@ -1,25 +0,0 @@
-// Test that attempts to construct infinite types via impl trait fail
-// in a graceful way.
-//
-// Regression test for #38064.
-
-trait Quux {}
-
-fn foo() -> impl Quux { //~ ERROR cannot resolve opaque type
-    struct Foo<T>(T);
-    impl<T> Quux for Foo<T> {}
-    Foo(bar())
-}
-
-fn bar() -> impl Quux { //~ ERROR cannot resolve opaque type
-    struct Bar<T>(T);
-    impl<T> Quux for Bar<T> {}
-    Bar(foo())
-}
-
-// effectively:
-//     struct Foo(Bar);
-//     struct Bar(Foo);
-// should produce an error about infinite size
-
-fn main() { foo(); }
diff --git a/src/test/ui/impl-trait/issues/infinite-impl-trait-issue-38064.stderr b/src/test/ui/impl-trait/issues/infinite-impl-trait-issue-38064.stderr
deleted file mode 100644
index 16a1262ec27..00000000000
--- a/src/test/ui/impl-trait/issues/infinite-impl-trait-issue-38064.stderr
+++ /dev/null
@@ -1,27 +0,0 @@
-error[E0720]: cannot resolve opaque type
-  --> $DIR/infinite-impl-trait-issue-38064.rs:8:13
-   |
-LL | fn foo() -> impl Quux {
-   |             ^^^^^^^^^ recursive opaque type
-...
-LL |     Foo(bar())
-   |     ---------- returning here with type `Foo<impl Quux>`
-...
-LL | fn bar() -> impl Quux {
-   |             --------- returning this opaque type `Foo<impl Quux>`
-
-error[E0720]: cannot resolve opaque type
-  --> $DIR/infinite-impl-trait-issue-38064.rs:14:13
-   |
-LL | fn foo() -> impl Quux {
-   |             --------- returning this opaque type `Bar<impl Quux>`
-...
-LL | fn bar() -> impl Quux {
-   |             ^^^^^^^^^ recursive opaque type
-...
-LL |     Bar(foo())
-   |     ---------- returning here with type `Bar<impl Quux>`
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0720`.
diff --git a/src/test/ui/impl-trait/issues/issue-104815.rs b/src/test/ui/impl-trait/issues/issue-104815.rs
deleted file mode 100644
index 7a9826a8dff..00000000000
--- a/src/test/ui/impl-trait/issues/issue-104815.rs
+++ /dev/null
@@ -1,66 +0,0 @@
-// check-pass
-
-struct It;
-
-struct Data {
-    items: Vec<It>,
-}
-
-impl Data {
-    fn new() -> Self {
-        Self {
-            items: vec![It, It],
-        }
-    }
-
-    fn content(&self) -> impl Iterator<Item = &It> {
-        self.items.iter()
-    }
-}
-
-struct Container<'a> {
-    name: String,
-    resolver: Box<dyn Resolver + 'a>,
-}
-
-impl<'a> Container<'a> {
-    fn new<R: Resolver + 'a>(name: &str, resolver: R) -> Self {
-        Self {
-            name: name.to_owned(),
-            resolver: Box::new(resolver),
-        }
-    }
-}
-
-trait Resolver {}
-
-impl<R: Resolver> Resolver for &R {}
-
-impl Resolver for It {}
-
-fn get<'a>(mut items: impl Iterator<Item = &'a It>) -> impl Resolver + 'a {
-    items.next().unwrap()
-}
-
-fn get2<'a, 'b: 'b>(mut items: impl Iterator<Item = &'a It>) -> impl Resolver + 'a {
-    items.next().unwrap()
-}
-
-fn main() {
-    let data = Data::new();
-    let resolver = get(data.content());
-
-    let _ = ["a", "b"]
-        .iter()
-        .map(|&n| Container::new(n, &resolver))
-        .map(|c| c.name)
-        .collect::<Vec<_>>();
-
-    let resolver = get2(data.content());
-
-    let _ = ["a", "b"]
-        .iter()
-        .map(|&n| Container::new(n, &resolver))
-        .map(|c| c.name)
-        .collect::<Vec<_>>();
-}
diff --git a/src/test/ui/impl-trait/issues/issue-21659-show-relevant-trait-impls-3.rs b/src/test/ui/impl-trait/issues/issue-21659-show-relevant-trait-impls-3.rs
deleted file mode 100644
index 41f48cb5693..00000000000
--- a/src/test/ui/impl-trait/issues/issue-21659-show-relevant-trait-impls-3.rs
+++ /dev/null
@@ -1,22 +0,0 @@
-trait Foo<A> {
-    fn foo(&self, a: A) -> A {
-        a
-    }
-}
-
-trait NotRelevant<A> {
-    fn nr(&self, a: A) -> A {
-        a
-    }
-}
-
-struct Bar;
-
-impl NotRelevant<usize> for Bar {}
-
-fn main() {
-    let f1 = Bar;
-
-    f1.foo(1usize);
-    //~^ error: method named `foo` found for struct `Bar` in the current scope
-}
diff --git a/src/test/ui/impl-trait/issues/issue-21659-show-relevant-trait-impls-3.stderr b/src/test/ui/impl-trait/issues/issue-21659-show-relevant-trait-impls-3.stderr
deleted file mode 100644
index 9150d957db7..00000000000
--- a/src/test/ui/impl-trait/issues/issue-21659-show-relevant-trait-impls-3.stderr
+++ /dev/null
@@ -1,19 +0,0 @@
-error[E0599]: no method named `foo` found for struct `Bar` in the current scope
-  --> $DIR/issue-21659-show-relevant-trait-impls-3.rs:20:8
-   |
-LL | struct Bar;
-   | ---------- method `foo` not found for this struct
-...
-LL |     f1.foo(1usize);
-   |        ^^^ method not found in `Bar`
-   |
-   = help: items from traits can only be used if the trait is implemented and in scope
-note: `Foo` defines an item `foo`, perhaps you need to implement it
-  --> $DIR/issue-21659-show-relevant-trait-impls-3.rs:1:1
-   |
-LL | trait Foo<A> {
-   | ^^^^^^^^^^^^
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0599`.
diff --git a/src/test/ui/impl-trait/issues/issue-42479.rs b/src/test/ui/impl-trait/issues/issue-42479.rs
deleted file mode 100644
index efc1f975d16..00000000000
--- a/src/test/ui/impl-trait/issues/issue-42479.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-// check-pass
-
-use std::iter::once;
-
-struct Foo {
-    x: i32,
-}
-
-impl Foo {
-    fn inside(&self) -> impl Iterator<Item = &i32> {
-        once(&self.x)
-    }
-}
-
-fn main() {
-    println!("hi");
-}
diff --git a/src/test/ui/impl-trait/issues/issue-49376.rs b/src/test/ui/impl-trait/issues/issue-49376.rs
deleted file mode 100644
index e4472fcc160..00000000000
--- a/src/test/ui/impl-trait/issues/issue-49376.rs
+++ /dev/null
@@ -1,23 +0,0 @@
-// check-pass
-
-// Tests for nested self-reference which caused a stack overflow.
-
-use std::fmt::Debug;
-use std::ops::*;
-
-fn gen() -> impl PartialOrd + PartialEq + Debug { }
-
-struct Bar {}
-trait Foo<T = Self> {}
-trait FooNested<T = Option<Self>> {}
-impl Foo for Bar {}
-impl FooNested for Bar {}
-
-fn foo() -> impl Foo + FooNested {
-    Bar {}
-}
-
-fn test_impl_ops() -> impl Add + Sub + Mul + Div { 1 }
-fn test_impl_assign_ops() -> impl AddAssign + SubAssign + MulAssign + DivAssign { 1 }
-
-fn main() {}
diff --git a/src/test/ui/impl-trait/issues/issue-52128.rs b/src/test/ui/impl-trait/issues/issue-52128.rs
deleted file mode 100644
index 5afd380dd4f..00000000000
--- a/src/test/ui/impl-trait/issues/issue-52128.rs
+++ /dev/null
@@ -1,25 +0,0 @@
-// check-pass
-
-#![deny(warnings)]
-
-use std::collections::BTreeMap;
-
-pub struct RangeMap {
-    map: BTreeMap<Range, u8>,
-}
-
-#[derive(Eq, PartialEq, Ord, PartialOrd)]
-struct Range;
-
-impl RangeMap {
-    fn iter_with_range<'a>(&'a self) -> impl Iterator<Item = (&'a Range, &'a u8)> + 'a {
-        self.map.range(Range..Range)
-    }
-
-    pub fn iter<'a>(&'a self) -> impl Iterator<Item = &'a u8> + 'a {
-        self.iter_with_range().map(|(_, data)| data)
-    }
-
-}
-
-fn main() {}
diff --git a/src/test/ui/impl-trait/issues/issue-53457.rs b/src/test/ui/impl-trait/issues/issue-53457.rs
deleted file mode 100644
index 7b9c2c53aad..00000000000
--- a/src/test/ui/impl-trait/issues/issue-53457.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-// check-pass
-
-#![feature(type_alias_impl_trait)]
-type X = impl Clone;
-
-fn bar<F: Fn(&i32) + Clone>(f: F) -> F {
-    f
-}
-
-fn foo() -> X {
-    bar(|_| ())
-}
-
-fn main() {}
diff --git a/src/test/ui/impl-trait/issues/issue-54600.rs b/src/test/ui/impl-trait/issues/issue-54600.rs
deleted file mode 100644
index 3024fedf7b5..00000000000
--- a/src/test/ui/impl-trait/issues/issue-54600.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-use std::fmt::Debug;
-
-fn main() {
-    let x: Option<impl Debug> = Some(44_u32);
-    //~^ `impl Trait` only allowed in function and inherent method return types
-    println!("{:?}", x);
-}
diff --git a/src/test/ui/impl-trait/issues/issue-54600.stderr b/src/test/ui/impl-trait/issues/issue-54600.stderr
deleted file mode 100644
index 316566a57a8..00000000000
--- a/src/test/ui/impl-trait/issues/issue-54600.stderr
+++ /dev/null
@@ -1,9 +0,0 @@
-error[E0562]: `impl Trait` only allowed in function and inherent method return types, not in variable binding
-  --> $DIR/issue-54600.rs:4:19
-   |
-LL |     let x: Option<impl Debug> = Some(44_u32);
-   |                   ^^^^^^^^^^
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0562`.
diff --git a/src/test/ui/impl-trait/issues/issue-54840.rs b/src/test/ui/impl-trait/issues/issue-54840.rs
deleted file mode 100644
index 8f1e0ece03a..00000000000
--- a/src/test/ui/impl-trait/issues/issue-54840.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-use std::ops::Add;
-
-fn main() {
-    let i: i32 = 0;
-    let j: &impl Add = &i;
-    //~^ `impl Trait` only allowed in function and inherent method return types
-}
diff --git a/src/test/ui/impl-trait/issues/issue-54840.stderr b/src/test/ui/impl-trait/issues/issue-54840.stderr
deleted file mode 100644
index 8d82133ac90..00000000000
--- a/src/test/ui/impl-trait/issues/issue-54840.stderr
+++ /dev/null
@@ -1,9 +0,0 @@
-error[E0562]: `impl Trait` only allowed in function and inherent method return types, not in variable binding
-  --> $DIR/issue-54840.rs:5:13
-   |
-LL |     let j: &impl Add = &i;
-   |             ^^^^^^^^
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0562`.
diff --git a/src/test/ui/impl-trait/issues/issue-54895.rs b/src/test/ui/impl-trait/issues/issue-54895.rs
deleted file mode 100644
index 8d7a1d56f83..00000000000
--- a/src/test/ui/impl-trait/issues/issue-54895.rs
+++ /dev/null
@@ -1,22 +0,0 @@
-trait Trait<'a> {
-    type Out;
-    fn call(&'a self) -> Self::Out;
-}
-
-struct X(());
-
-impl<'a> Trait<'a> for X {
-    type Out = ();
-    fn call(&'a self) -> Self::Out {
-        ()
-    }
-}
-
-fn f() -> impl for<'a> Trait<'a, Out = impl Sized + 'a> {
-    //~^ ERROR higher kinded lifetime bounds on nested opaque types are not supported yet
-    X(())
-}
-
-fn main() {
-    let _ = f();
-}
diff --git a/src/test/ui/impl-trait/issues/issue-54895.stderr b/src/test/ui/impl-trait/issues/issue-54895.stderr
deleted file mode 100644
index 7d22f027a6d..00000000000
--- a/src/test/ui/impl-trait/issues/issue-54895.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: higher kinded lifetime bounds on nested opaque types are not supported yet
-  --> $DIR/issue-54895.rs:15:53
-   |
-LL | fn f() -> impl for<'a> Trait<'a, Out = impl Sized + 'a> {
-   |                                                     ^^
-   |
-note: lifetime declared here
-  --> $DIR/issue-54895.rs:15:20
-   |
-LL | fn f() -> impl for<'a> Trait<'a, Out = impl Sized + 'a> {
-   |                    ^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/impl-trait/issues/issue-55608-captures-empty-region.rs b/src/test/ui/impl-trait/issues/issue-55608-captures-empty-region.rs
deleted file mode 100644
index 0c34c97e258..00000000000
--- a/src/test/ui/impl-trait/issues/issue-55608-captures-empty-region.rs
+++ /dev/null
@@ -1,22 +0,0 @@
-// This used to ICE because it creates an `impl Trait` that captures a
-// hidden empty region.
-
-// check-pass
-
-fn server() -> impl FilterBase2 {
-    segment2(|| { loop { } }).map2(|| "")
-}
-
-trait FilterBase2 {
-    fn map2<F>(self, _fn: F) -> Map2<F> where Self: Sized { loop { } }
-}
-
-struct Map2<F> { _func: F }
-
-impl<F> FilterBase2 for Map2<F> { }
-
-fn segment2<F>(_fn: F) -> Map2<F> where F: Fn() -> Result<(), ()> {
-    loop { }
-}
-
-fn main() { server(); }
diff --git a/src/test/ui/impl-trait/issues/issue-57464-unexpected-regions.rs b/src/test/ui/impl-trait/issues/issue-57464-unexpected-regions.rs
deleted file mode 100644
index c4f738a34b6..00000000000
--- a/src/test/ui/impl-trait/issues/issue-57464-unexpected-regions.rs
+++ /dev/null
@@ -1,29 +0,0 @@
-// Regression test for issue 57464.
-//
-// Closure are (surprisingly) allowed to outlive their signature. As such it
-// was possible to end up with `ReScope`s appearing in the concrete type of an
-// opaque type. As all regions are now required to outlive the bound in an
-// opaque type we avoid the issue here.
-
-// check-pass
-
-struct A<F>(F);
-
-unsafe impl <'a, 'b, F: Fn(&'a i32) -> &'b i32> Send for A<F> {}
-
-fn wrapped_closure() -> impl Sized {
-    let f = |x| x;
-    f(&0);
-    A(f)
-}
-
-fn wrapped_closure_with_bound() -> impl Sized + 'static {
-    let f = |x| x;
-    f(&0);
-    A(f)
-}
-
-fn main() {
-    let x: Box<dyn Send> = Box::new(wrapped_closure());
-    let y: Box<dyn Send> = Box::new(wrapped_closure_with_bound());
-}
diff --git a/src/test/ui/impl-trait/issues/issue-57979-deeply-nested-impl-trait-in-assoc-proj.rs b/src/test/ui/impl-trait/issues/issue-57979-deeply-nested-impl-trait-in-assoc-proj.rs
deleted file mode 100644
index 0daec3305c0..00000000000
--- a/src/test/ui/impl-trait/issues/issue-57979-deeply-nested-impl-trait-in-assoc-proj.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-// rust-lang/rust#57979 : the initial support for `impl Trait` didn't
-// properly check syntax hidden behind an associated type projection,
-// but it did catch *some cases*. This is checking that we continue to
-// properly emit errors for those.
-//
-// issue-57979-nested-impl-trait-in-assoc-proj.rs shows the main case
-// that we were previously failing to catch.
-
-struct Deeper<T>(T);
-
-pub trait Foo<T> { }
-pub trait Bar { }
-pub trait Quux { type Assoc; }
-pub fn demo(_: impl Quux<Assoc=Deeper<impl Foo<impl Bar>>>) { }
-//~^ ERROR nested `impl Trait` is not allowed
-
-fn main() { }
diff --git a/src/test/ui/impl-trait/issues/issue-57979-deeply-nested-impl-trait-in-assoc-proj.stderr b/src/test/ui/impl-trait/issues/issue-57979-deeply-nested-impl-trait-in-assoc-proj.stderr
deleted file mode 100644
index 6bebbc01f3d..00000000000
--- a/src/test/ui/impl-trait/issues/issue-57979-deeply-nested-impl-trait-in-assoc-proj.stderr
+++ /dev/null
@@ -1,12 +0,0 @@
-error[E0666]: nested `impl Trait` is not allowed
-  --> $DIR/issue-57979-deeply-nested-impl-trait-in-assoc-proj.rs:14:48
-   |
-LL | pub fn demo(_: impl Quux<Assoc=Deeper<impl Foo<impl Bar>>>) { }
-   |                                       ---------^^^^^^^^-
-   |                                       |        |
-   |                                       |        nested `impl Trait` here
-   |                                       outer `impl Trait`
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0666`.
diff --git a/src/test/ui/impl-trait/issues/issue-57979-impl-trait-in-path.rs b/src/test/ui/impl-trait/issues/issue-57979-impl-trait-in-path.rs
deleted file mode 100644
index c5ecd1caae1..00000000000
--- a/src/test/ui/impl-trait/issues/issue-57979-impl-trait-in-path.rs
+++ /dev/null
@@ -1,12 +0,0 @@
-// rust-lang/rust#57979 : the initial support for `impl Trait` didn't
-// properly check syntax hidden behind an associated type projection.
-// Here we test behavior of occurrences of `impl Trait` within a path
-// component in that context.
-
-pub trait Bar { }
-pub trait Quux<T> { type Assoc; }
-pub fn demo(_: impl Quux<(), Assoc=<() as Quux<impl Bar>>::Assoc>) { }
-//~^ ERROR `impl Trait` is not allowed in path parameters
-impl<T> Quux<T> for () { type Assoc = u32; }
-
-fn main() { }
diff --git a/src/test/ui/impl-trait/issues/issue-57979-impl-trait-in-path.stderr b/src/test/ui/impl-trait/issues/issue-57979-impl-trait-in-path.stderr
deleted file mode 100644
index e31393181d7..00000000000
--- a/src/test/ui/impl-trait/issues/issue-57979-impl-trait-in-path.stderr
+++ /dev/null
@@ -1,9 +0,0 @@
-error[E0667]: `impl Trait` is not allowed in path parameters
-  --> $DIR/issue-57979-impl-trait-in-path.rs:8:48
-   |
-LL | pub fn demo(_: impl Quux<(), Assoc=<() as Quux<impl Bar>>::Assoc>) { }
-   |                                                ^^^^^^^^
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0667`.
diff --git a/src/test/ui/impl-trait/issues/issue-57979-nested-impl-trait-in-assoc-proj.rs b/src/test/ui/impl-trait/issues/issue-57979-nested-impl-trait-in-assoc-proj.rs
deleted file mode 100644
index 5a444d3dfdd..00000000000
--- a/src/test/ui/impl-trait/issues/issue-57979-nested-impl-trait-in-assoc-proj.rs
+++ /dev/null
@@ -1,12 +0,0 @@
-// rust-lang/rust#57979 : the initial support for `impl Trait` didn't
-// properly check syntax hidden behind an associated type projection.
-// Here we test behavior of occurrences of `impl Trait` within an
-// `impl Trait` in that context.
-
-pub trait Foo<T> { }
-pub trait Bar { }
-pub trait Quux { type Assoc; }
-pub fn demo(_: impl Quux<Assoc=impl Foo<impl Bar>>) { }
-//~^ ERROR nested `impl Trait` is not allowed
-
-fn main() { }
diff --git a/src/test/ui/impl-trait/issues/issue-57979-nested-impl-trait-in-assoc-proj.stderr b/src/test/ui/impl-trait/issues/issue-57979-nested-impl-trait-in-assoc-proj.stderr
deleted file mode 100644
index 8d3d4b5e206..00000000000
--- a/src/test/ui/impl-trait/issues/issue-57979-nested-impl-trait-in-assoc-proj.stderr
+++ /dev/null
@@ -1,12 +0,0 @@
-error[E0666]: nested `impl Trait` is not allowed
-  --> $DIR/issue-57979-nested-impl-trait-in-assoc-proj.rs:9:41
-   |
-LL | pub fn demo(_: impl Quux<Assoc=impl Foo<impl Bar>>) { }
-   |                                ---------^^^^^^^^-
-   |                                |        |
-   |                                |        nested `impl Trait` here
-   |                                outer `impl Trait`
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0666`.
diff --git a/src/test/ui/impl-trait/issues/issue-58504.rs b/src/test/ui/impl-trait/issues/issue-58504.rs
deleted file mode 100644
index e5865d0dfff..00000000000
--- a/src/test/ui/impl-trait/issues/issue-58504.rs
+++ /dev/null
@@ -1,12 +0,0 @@
-#![feature(generators, generator_trait, never_type)]
-
-use std::ops::Generator;
-
-fn mk_gen() -> impl Generator<Return=!, Yield=()> {
-    || { loop { yield; } }
-}
-
-fn main() {
-    let gens: [impl Generator<Return=!, Yield=()>;2] = [ mk_gen(), mk_gen() ];
-    //~^ `impl Trait` only allowed in function and inherent method return types
-}
diff --git a/src/test/ui/impl-trait/issues/issue-58504.stderr b/src/test/ui/impl-trait/issues/issue-58504.stderr
deleted file mode 100644
index 6656e9fc3fb..00000000000
--- a/src/test/ui/impl-trait/issues/issue-58504.stderr
+++ /dev/null
@@ -1,9 +0,0 @@
-error[E0562]: `impl Trait` only allowed in function and inherent method return types, not in variable binding
-  --> $DIR/issue-58504.rs:10:16
-   |
-LL |     let gens: [impl Generator<Return=!, Yield=()>;2] = [ mk_gen(), mk_gen() ];
-   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0562`.
diff --git a/src/test/ui/impl-trait/issues/issue-58956.rs b/src/test/ui/impl-trait/issues/issue-58956.rs
deleted file mode 100644
index 68cfcd9ba4f..00000000000
--- a/src/test/ui/impl-trait/issues/issue-58956.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-trait Lam {}
-
-pub struct B;
-impl Lam for B {}
-pub struct Wrap<T>(T);
-
-const _A: impl Lam = {
-    //~^ `impl Trait` only allowed in function and inherent method return types
-    let x: Wrap<impl Lam> = Wrap(B);
-    //~^ `impl Trait` only allowed in function and inherent method return types
-    x.0
-};
-
-fn main() {}
diff --git a/src/test/ui/impl-trait/issues/issue-58956.stderr b/src/test/ui/impl-trait/issues/issue-58956.stderr
deleted file mode 100644
index 123fb4df4b3..00000000000
--- a/src/test/ui/impl-trait/issues/issue-58956.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error[E0562]: `impl Trait` only allowed in function and inherent method return types, not in type
-  --> $DIR/issue-58956.rs:7:11
-   |
-LL | const _A: impl Lam = {
-   |           ^^^^^^^^
-
-error[E0562]: `impl Trait` only allowed in function and inherent method return types, not in variable binding
-  --> $DIR/issue-58956.rs:9:17
-   |
-LL |     let x: Wrap<impl Lam> = Wrap(B);
-   |                 ^^^^^^^^
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0562`.
diff --git a/src/test/ui/impl-trait/issues/issue-62742.rs b/src/test/ui/impl-trait/issues/issue-62742.rs
deleted file mode 100644
index 041bd0e3855..00000000000
--- a/src/test/ui/impl-trait/issues/issue-62742.rs
+++ /dev/null
@@ -1,32 +0,0 @@
-use std::marker::PhantomData;
-
-fn _alias_check() {
-    WrongImpl::foo(0i32);
-    //~^ ERROR the trait bound `RawImpl<_>: Raw<_>` is not satisfied
-    WrongImpl::<()>::foo(0i32);
-    //~^ ERROR the trait bound `RawImpl<()>: Raw<()>` is not satisfied
-    //~| ERROR trait bounds were not satisfied
-    CorrectImpl::foo(0i32);
-}
-
-pub trait Raw<T: ?Sized> {
-    type Value;
-}
-
-pub type WrongImpl<T> = SafeImpl<T, RawImpl<T>>;
-
-pub type CorrectImpl<T> = SafeImpl<[T], RawImpl<T>>;
-
-pub struct RawImpl<T>(PhantomData<T>);
-
-impl<T> Raw<[T]> for RawImpl<T> {
-    type Value = T;
-}
-
-pub struct SafeImpl<T: ?Sized, A: Raw<T>>(PhantomData<(A, T)>);
-
-impl<T: ?Sized, A: Raw<T>> SafeImpl<T, A> {
-    pub fn foo(value: A::Value) {}
-}
-
-fn main() {}
diff --git a/src/test/ui/impl-trait/issues/issue-62742.stderr b/src/test/ui/impl-trait/issues/issue-62742.stderr
deleted file mode 100644
index bc342dc4689..00000000000
--- a/src/test/ui/impl-trait/issues/issue-62742.stderr
+++ /dev/null
@@ -1,50 +0,0 @@
-error[E0277]: the trait bound `RawImpl<_>: Raw<_>` is not satisfied
-  --> $DIR/issue-62742.rs:4:5
-   |
-LL |     WrongImpl::foo(0i32);
-   |     ^^^^^^^^^ the trait `Raw<_>` is not implemented for `RawImpl<_>`
-   |
-   = help: the trait `Raw<[T]>` is implemented for `RawImpl<T>`
-note: required by a bound in `SafeImpl`
-  --> $DIR/issue-62742.rs:26:35
-   |
-LL | pub struct SafeImpl<T: ?Sized, A: Raw<T>>(PhantomData<(A, T)>);
-   |                                   ^^^^^^ required by this bound in `SafeImpl`
-
-error[E0599]: the function or associated item `foo` exists for struct `SafeImpl<(), RawImpl<()>>`, but its trait bounds were not satisfied
-  --> $DIR/issue-62742.rs:6:22
-   |
-LL |     WrongImpl::<()>::foo(0i32);
-   |                      ^^^ function or associated item cannot be called on `SafeImpl<(), RawImpl<()>>` due to unsatisfied trait bounds
-...
-LL | pub struct RawImpl<T>(PhantomData<T>);
-   | --------------------- doesn't satisfy `RawImpl<()>: Raw<()>`
-...
-LL | pub struct SafeImpl<T: ?Sized, A: Raw<T>>(PhantomData<(A, T)>);
-   | ----------------------------------------- function or associated item `foo` not found for this struct
-   |
-   = note: the following trait bounds were not satisfied:
-           `RawImpl<()>: Raw<()>`
-note: the trait `Raw` must be implemented
-  --> $DIR/issue-62742.rs:12:1
-   |
-LL | pub trait Raw<T: ?Sized> {
-   | ^^^^^^^^^^^^^^^^^^^^^^^^
-
-error[E0277]: the trait bound `RawImpl<()>: Raw<()>` is not satisfied
-  --> $DIR/issue-62742.rs:6:5
-   |
-LL |     WrongImpl::<()>::foo(0i32);
-   |     ^^^^^^^^^^^^^^^ the trait `Raw<()>` is not implemented for `RawImpl<()>`
-   |
-   = help: the trait `Raw<[T]>` is implemented for `RawImpl<T>`
-note: required by a bound in `SafeImpl`
-  --> $DIR/issue-62742.rs:26:35
-   |
-LL | pub struct SafeImpl<T: ?Sized, A: Raw<T>>(PhantomData<(A, T)>);
-   |                                   ^^^^^^ required by this bound in `SafeImpl`
-
-error: aborting due to 3 previous errors
-
-Some errors have detailed explanations: E0277, E0599.
-For more information about an error, try `rustc --explain E0277`.
diff --git a/src/test/ui/impl-trait/issues/issue-65581.rs b/src/test/ui/impl-trait/issues/issue-65581.rs
deleted file mode 100644
index b947fc1d239..00000000000
--- a/src/test/ui/impl-trait/issues/issue-65581.rs
+++ /dev/null
@@ -1,34 +0,0 @@
-// check-pass
-// ignore-compare-mode-chalk
-
-#![allow(dead_code)]
-
-trait Trait1<T, U> {
-    fn f1(self) -> U;
-}
-
-trait Trait2 {
-    type T;
-    type U: Trait2<T = Self::T>;
-    fn f2(f: impl FnOnce(&Self::U));
-}
-
-fn f3<T: Trait2>() -> impl Trait1<T, T::T> {
-    Struct1
-}
-
-struct Struct1;
-
-impl<T: Trait2> Trait1<T, T::T> for Struct1 {
-    fn f1(self) -> T::T {
-        unimplemented!()
-    }
-}
-
-fn f4<T: Trait2>() {
-    T::f2(|_| {
-        f3::<T::U>().f1();
-    });
-}
-
-fn main() {}
diff --git a/src/test/ui/impl-trait/issues/issue-67830.rs b/src/test/ui/impl-trait/issues/issue-67830.rs
deleted file mode 100644
index 92f7e005dbf..00000000000
--- a/src/test/ui/impl-trait/issues/issue-67830.rs
+++ /dev/null
@@ -1,26 +0,0 @@
-trait MyFn<Arg> {
-    type Output;
-    fn call(&self, arg: Arg) -> Self::Output;
-}
-
-struct Wrap<F>(F);
-
-impl<A, B, F> MyFn<A> for Wrap<F>
-where
-    F: Fn(A) -> B
-{
-    type Output = B;
-
-    fn call(&self, arg: A) -> Self::Output {
-        (self.0)(arg)
-    }
-}
-
-
-struct A;
-fn test() -> impl for<'a> MyFn<&'a A, Output=impl Iterator + 'a> {
-    //~^ ERROR higher kinded lifetime bounds on nested opaque types are not supported yet
-    Wrap(|a| Some(a).into_iter())
-}
-
-fn main() {}
diff --git a/src/test/ui/impl-trait/issues/issue-67830.stderr b/src/test/ui/impl-trait/issues/issue-67830.stderr
deleted file mode 100644
index d3ea8cb0377..00000000000
--- a/src/test/ui/impl-trait/issues/issue-67830.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: higher kinded lifetime bounds on nested opaque types are not supported yet
-  --> $DIR/issue-67830.rs:21:62
-   |
-LL | fn test() -> impl for<'a> MyFn<&'a A, Output=impl Iterator + 'a> {
-   |                                                              ^^
-   |
-note: lifetime declared here
-  --> $DIR/issue-67830.rs:21:23
-   |
-LL | fn test() -> impl for<'a> MyFn<&'a A, Output=impl Iterator + 'a> {
-   |                       ^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/impl-trait/issues/issue-70877.rs b/src/test/ui/impl-trait/issues/issue-70877.rs
deleted file mode 100644
index 8169cfafac7..00000000000
--- a/src/test/ui/impl-trait/issues/issue-70877.rs
+++ /dev/null
@@ -1,36 +0,0 @@
-#![feature(type_alias_impl_trait)]
-
-type FooArg<'a> = &'a dyn ToString;
-type FooRet = impl std::fmt::Debug;
-
-type FooItem = Box<dyn Fn(FooArg) -> FooRet>;
-type Foo = impl Iterator<Item = FooItem>;
-
-#[repr(C)]
-struct Bar(u8);
-
-impl Iterator for Bar {
-    type Item = FooItem;
-
-    fn next(&mut self) -> Option<Self::Item> {
-        Some(Box::new(quux))
-    }
-}
-
-fn quux(st: FooArg) -> FooRet {
-    Some(st.to_string())
-}
-
-fn ham() -> Foo {
-    Bar(1)
-}
-
-fn oof() -> impl std::fmt::Debug {
-    let mut bar = ham();
-    let func = bar.next().unwrap();
-    return func(&"oof"); //~ ERROR opaque type's hidden type cannot be another opaque type
-}
-
-fn main() {
-    let _ = oof();
-}
diff --git a/src/test/ui/impl-trait/issues/issue-70877.stderr b/src/test/ui/impl-trait/issues/issue-70877.stderr
deleted file mode 100644
index 8813bff3c35..00000000000
--- a/src/test/ui/impl-trait/issues/issue-70877.stderr
+++ /dev/null
@@ -1,19 +0,0 @@
-error: opaque type's hidden type cannot be another opaque type from the same scope
-  --> $DIR/issue-70877.rs:31:12
-   |
-LL |     return func(&"oof");
-   |            ^^^^^^^^^^^^ one of the two opaque types used here has to be outside its defining scope
-   |
-note: opaque type whose hidden type is being assigned
-  --> $DIR/issue-70877.rs:28:13
-   |
-LL | fn oof() -> impl std::fmt::Debug {
-   |             ^^^^^^^^^^^^^^^^^^^^
-note: opaque type being used as hidden type
-  --> $DIR/issue-70877.rs:4:15
-   |
-LL | type FooRet = impl std::fmt::Debug;
-   |               ^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/impl-trait/issues/issue-70971.rs b/src/test/ui/impl-trait/issues/issue-70971.rs
deleted file mode 100644
index f8ae18bacd6..00000000000
--- a/src/test/ui/impl-trait/issues/issue-70971.rs
+++ /dev/null
@@ -1,4 +0,0 @@
-fn main() {
-    let x : (impl Copy,) = (true,);
-    //~^ `impl Trait` only allowed in function and inherent method return types
-}
diff --git a/src/test/ui/impl-trait/issues/issue-70971.stderr b/src/test/ui/impl-trait/issues/issue-70971.stderr
deleted file mode 100644
index 4dda4c22aa2..00000000000
--- a/src/test/ui/impl-trait/issues/issue-70971.stderr
+++ /dev/null
@@ -1,9 +0,0 @@
-error[E0562]: `impl Trait` only allowed in function and inherent method return types, not in variable binding
-  --> $DIR/issue-70971.rs:2:14
-   |
-LL |     let x : (impl Copy,) = (true,);
-   |              ^^^^^^^^^
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0562`.
diff --git a/src/test/ui/impl-trait/issues/issue-74282.rs b/src/test/ui/impl-trait/issues/issue-74282.rs
deleted file mode 100644
index 654de0cd025..00000000000
--- a/src/test/ui/impl-trait/issues/issue-74282.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-#![feature(type_alias_impl_trait)]
-
-type Closure = impl Fn() -> u64;
-struct Anonymous(Closure);
-
-fn main() {
-    let y = || -> Closure { || 3 };
-    Anonymous(|| { //~ ERROR mismatched types
-        3 //~^ ERROR mismatched types
-    })
-}
diff --git a/src/test/ui/impl-trait/issues/issue-74282.stderr b/src/test/ui/impl-trait/issues/issue-74282.stderr
deleted file mode 100644
index 5b05fb2810d..00000000000
--- a/src/test/ui/impl-trait/issues/issue-74282.stderr
+++ /dev/null
@@ -1,40 +0,0 @@
-error[E0308]: mismatched types
-  --> $DIR/issue-74282.rs:8:15
-   |
-LL |   type Closure = impl Fn() -> u64;
-   |                  ---------------- the expected opaque type
-...
-LL |       Anonymous(|| {
-   |  _____---------_^
-   | |     |
-   | |     arguments to this struct are incorrect
-LL | |         3
-LL | |     })
-   | |_____^ expected closure, found a different closure
-   |
-   = note: expected opaque type `Closure`
-                  found closure `[closure@$DIR/issue-74282.rs:8:15: 8:17]`
-   = note: no two closures, even if identical, have the same type
-   = help: consider boxing your closure and/or using it as a trait object
-note: tuple struct defined here
-  --> $DIR/issue-74282.rs:4:8
-   |
-LL | struct Anonymous(Closure);
-   |        ^^^^^^^^^
-
-error[E0308]: mismatched types
-  --> $DIR/issue-74282.rs:8:5
-   |
-LL |   fn main() {
-   |             - expected `()` because of default return type
-LL |       let y = || -> Closure { || 3 };
-LL | /     Anonymous(|| {
-LL | |         3
-LL | |     })
-   | |      ^- help: consider using a semicolon here: `;`
-   | |______|
-   |        expected `()`, found struct `Anonymous`
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0308`.
diff --git a/src/test/ui/impl-trait/issues/issue-77987.rs b/src/test/ui/impl-trait/issues/issue-77987.rs
deleted file mode 100644
index d29710b6f54..00000000000
--- a/src/test/ui/impl-trait/issues/issue-77987.rs
+++ /dev/null
@@ -1,21 +0,0 @@
-#![feature(type_alias_impl_trait)]
-
-// check-pass
-
-trait Foo<T> {}
-impl<T, U> Foo<T> for U {}
-
-type Scope = impl Foo<()>;
-
-#[allow(unused)]
-fn infer_scope() -> Scope {
-    ()
-}
-
-#[allow(unused)]
-fn ice() -> impl Foo<Scope>
-{
-    loop {}
-}
-
-fn main() {}
diff --git a/src/test/ui/impl-trait/issues/issue-78722.rs b/src/test/ui/impl-trait/issues/issue-78722.rs
deleted file mode 100644
index 78233f300bd..00000000000
--- a/src/test/ui/impl-trait/issues/issue-78722.rs
+++ /dev/null
@@ -1,20 +0,0 @@
-// edition:2018
-
-#![feature(type_alias_impl_trait)]
-
-type F = impl core::future::Future<Output = u8>;
-
-struct Bug {
-    V1: [(); {
-        fn concrete_use() -> F {
-            //~^ ERROR to be a future that resolves to `u8`, but it resolves to `()`
-            async {}
-        }
-        let f: F = async { 1 };
-        //~^ ERROR `async` blocks are not allowed in constants
-        //~| ERROR destructor of
-        1
-    }],
-}
-
-fn main() {}
diff --git a/src/test/ui/impl-trait/issues/issue-78722.stderr b/src/test/ui/impl-trait/issues/issue-78722.stderr
deleted file mode 100644
index c00df8087e8..00000000000
--- a/src/test/ui/impl-trait/issues/issue-78722.stderr
+++ /dev/null
@@ -1,28 +0,0 @@
-error[E0658]: `async` blocks are not allowed in constants
-  --> $DIR/issue-78722.rs:13:20
-   |
-LL |         let f: F = async { 1 };
-   |                    ^^^^^^^^^^^
-   |
-   = note: see issue #85368 <https://github.com/rust-lang/rust/issues/85368> for more information
-   = help: add `#![feature(const_async_blocks)]` to the crate attributes to enable
-
-error[E0493]: destructor of `F` cannot be evaluated at compile-time
-  --> $DIR/issue-78722.rs:13:13
-   |
-LL |         let f: F = async { 1 };
-   |             ^ the destructor for this type cannot be evaluated in constants
-...
-LL |     }],
-   |     - value is dropped here
-
-error[E0271]: expected `[async block@$DIR/issue-78722.rs:11:13: 11:21]` to be a future that resolves to `u8`, but it resolves to `()`
-  --> $DIR/issue-78722.rs:9:30
-   |
-LL |         fn concrete_use() -> F {
-   |                              ^ expected `()`, found `u8`
-
-error: aborting due to 3 previous errors
-
-Some errors have detailed explanations: E0271, E0493, E0658.
-For more information about an error, try `rustc --explain E0271`.
diff --git a/src/test/ui/impl-trait/issues/issue-79099.rs b/src/test/ui/impl-trait/issues/issue-79099.rs
deleted file mode 100644
index da53594f3d0..00000000000
--- a/src/test/ui/impl-trait/issues/issue-79099.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-struct Bug {
-    V1: [(); {
-        let f: impl core::future::Future<Output = u8> = async { 1 };
-        //~^ `impl Trait` only allowed in function and inherent method return types
-        //~| expected identifier
-        1
-    }],
-}
-
-fn main() {}
diff --git a/src/test/ui/impl-trait/issues/issue-79099.stderr b/src/test/ui/impl-trait/issues/issue-79099.stderr
deleted file mode 100644
index 362c67dafd2..00000000000
--- a/src/test/ui/impl-trait/issues/issue-79099.stderr
+++ /dev/null
@@ -1,20 +0,0 @@
-error: expected identifier, found `1`
-  --> $DIR/issue-79099.rs:3:65
-   |
-LL |         let f: impl core::future::Future<Output = u8> = async { 1 };
-   |                                                         -----   ^ expected identifier
-   |                                                         |
-   |                                                         `async` blocks are only allowed in Rust 2018 or later
-   |
-   = help: pass `--edition 2021` to `rustc`
-   = note: for more on editions, read https://doc.rust-lang.org/edition-guide
-
-error[E0562]: `impl Trait` only allowed in function and inherent method return types, not in variable binding
-  --> $DIR/issue-79099.rs:3:16
-   |
-LL |         let f: impl core::future::Future<Output = u8> = async { 1 };
-   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0562`.
diff --git a/src/test/ui/impl-trait/issues/issue-82139.rs b/src/test/ui/impl-trait/issues/issue-82139.rs
deleted file mode 100644
index cc9167b340a..00000000000
--- a/src/test/ui/impl-trait/issues/issue-82139.rs
+++ /dev/null
@@ -1,19 +0,0 @@
-#![feature(type_alias_impl_trait)]
-
-trait Trait {
-    type Associated;
-    fn func() -> Self::Associated;
-}
-
-trait Bound {}
-pub struct Struct;
-
-impl Trait for Struct {
-    type Associated = impl Bound;
-
-    fn func() -> Self::Associated {
-        Some(42).map(|_| j) //~ ERROR cannot find value `j` in this scope
-    }
-}
-
-fn main() {}
diff --git a/src/test/ui/impl-trait/issues/issue-82139.stderr b/src/test/ui/impl-trait/issues/issue-82139.stderr
deleted file mode 100644
index 0adcd4a7a2f..00000000000
--- a/src/test/ui/impl-trait/issues/issue-82139.stderr
+++ /dev/null
@@ -1,9 +0,0 @@
-error[E0425]: cannot find value `j` in this scope
-  --> $DIR/issue-82139.rs:15:26
-   |
-LL |         Some(42).map(|_| j)
-   |                          ^ not found in this scope
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0425`.
diff --git a/src/test/ui/impl-trait/issues/issue-83919.rs b/src/test/ui/impl-trait/issues/issue-83919.rs
deleted file mode 100644
index e76443a65db..00000000000
--- a/src/test/ui/impl-trait/issues/issue-83919.rs
+++ /dev/null
@@ -1,32 +0,0 @@
-#![feature(type_alias_impl_trait)]
-
-// edition:2021
-
-use std::future::Future;
-
-trait Foo {
-    type T;
-    type Fut2: Future<Output=Self::T>; // ICE got triggered with traits other than Future here
-    type Fut: Future<Output=Self::Fut2>;
-    fn get_fut(&self) -> Self::Fut;
-}
-
-struct Implementor;
-
-impl Foo for Implementor {
-    type T = u64;
-    type Fut2 = impl Future<Output=u64>;
-    type Fut = impl Future<Output=Self::Fut2>;
-
-    fn get_fut(&self) -> Self::Fut {
-    //~^ ERROR `{integer}` is not a future
-        async move {
-            42
-            // 42 does not impl Future and rustc does actually point out the error,
-            // but rustc used to panic.
-            // Putting a valid Future here always worked fine.
-        }
-    }
-}
-
-fn main() {}
diff --git a/src/test/ui/impl-trait/issues/issue-83919.stderr b/src/test/ui/impl-trait/issues/issue-83919.stderr
deleted file mode 100644
index d39dcf7fbf5..00000000000
--- a/src/test/ui/impl-trait/issues/issue-83919.stderr
+++ /dev/null
@@ -1,12 +0,0 @@
-error[E0277]: `{integer}` is not a future
-  --> $DIR/issue-83919.rs:21:26
-   |
-LL |     fn get_fut(&self) -> Self::Fut {
-   |                          ^^^^^^^^^ `{integer}` is not a future
-   |
-   = help: the trait `Future` is not implemented for `{integer}`
-   = note: {integer} must be a future or must implement `IntoFuture` to be awaited
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0277`.
diff --git a/src/test/ui/impl-trait/issues/issue-83929-impl-trait-in-generic-default.rs b/src/test/ui/impl-trait/issues/issue-83929-impl-trait-in-generic-default.rs
deleted file mode 100644
index 344f359529b..00000000000
--- a/src/test/ui/impl-trait/issues/issue-83929-impl-trait-in-generic-default.rs
+++ /dev/null
@@ -1,12 +0,0 @@
-struct Foo<T = impl Copy>(T);
-//~^ ERROR `impl Trait` only allowed in function and inherent method return types
-
-type Result<T, E = impl std::error::Error> = std::result::Result<T, E>;
-//~^ ERROR `impl Trait` only allowed in function and inherent method return types
-
-// should not cause ICE
-fn x() -> Foo {
-    Foo(0)
-}
-
-fn main() -> Result<()> {}
diff --git a/src/test/ui/impl-trait/issues/issue-83929-impl-trait-in-generic-default.stderr b/src/test/ui/impl-trait/issues/issue-83929-impl-trait-in-generic-default.stderr
deleted file mode 100644
index e635e554e23..00000000000
--- a/src/test/ui/impl-trait/issues/issue-83929-impl-trait-in-generic-default.stderr
+++ /dev/null
@@ -1,15 +0,0 @@
-error[E0562]: `impl Trait` only allowed in function and inherent method return types, not in type
-  --> $DIR/issue-83929-impl-trait-in-generic-default.rs:1:16
-   |
-LL | struct Foo<T = impl Copy>(T);
-   |                ^^^^^^^^^
-
-error[E0562]: `impl Trait` only allowed in function and inherent method return types, not in type
-  --> $DIR/issue-83929-impl-trait-in-generic-default.rs:4:20
-   |
-LL | type Result<T, E = impl std::error::Error> = std::result::Result<T, E>;
-   |                    ^^^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to 2 previous errors
-
-For more information about this error, try `rustc --explain E0562`.
diff --git a/src/test/ui/impl-trait/issues/issue-84073.rs b/src/test/ui/impl-trait/issues/issue-84073.rs
deleted file mode 100644
index 49a34ccfa3b..00000000000
--- a/src/test/ui/impl-trait/issues/issue-84073.rs
+++ /dev/null
@@ -1,33 +0,0 @@
-use std::marker::PhantomData;
-
-pub trait StatefulFuture<S> {}
-pub struct Never<T>(PhantomData<T>);
-impl<T> StatefulFuture<T> for Never<T> {}
-
-pub struct RaceBuilder<F, S> {
-    future: F,
-    _phantom: PhantomData<S>,
-}
-
-impl<T, F> RaceBuilder<T, F>
-where
-    F: StatefulFuture<Option<T>>,
-{
-    pub fn when(self) {}
-}
-
-pub struct Race<T, R> {
-    race: R,
-    _phantom: PhantomData<T>,
-}
-
-impl<T, R> Race<T, R>
-where
-    R: Fn(RaceBuilder<T, Never<T>>),
-{
-    pub fn new(race: R) {}
-}
-
-fn main() {
-    Race::new(|race| race.when()); //~ ERROR type annotations needed
-}
diff --git a/src/test/ui/impl-trait/issues/issue-84073.stderr b/src/test/ui/impl-trait/issues/issue-84073.stderr
deleted file mode 100644
index 3c39aa6ce5b..00000000000
--- a/src/test/ui/impl-trait/issues/issue-84073.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error[E0282]: type annotations needed for `RaceBuilder<T, Never<T>>`
-  --> $DIR/issue-84073.rs:32:16
-   |
-LL |     Race::new(|race| race.when());
-   |                ^^^^
-   |
-help: consider giving this closure parameter an explicit type, where the type for type parameter `T` is specified
-   |
-LL |     Race::new(|race: RaceBuilder<T, Never<T>>| race.when());
-   |                    ++++++++++++++++++++++++++
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0282`.
diff --git a/src/test/ui/impl-trait/issues/issue-84919.rs b/src/test/ui/impl-trait/issues/issue-84919.rs
deleted file mode 100644
index a0b73743a2b..00000000000
--- a/src/test/ui/impl-trait/issues/issue-84919.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-trait Trait {}
-impl Trait for () {}
-
-fn foo<'a: 'a>() {
-    let _x: impl Trait = ();
-    //~^ `impl Trait` only allowed in function and inherent method return types
-}
-
-fn main() {}
diff --git a/src/test/ui/impl-trait/issues/issue-84919.stderr b/src/test/ui/impl-trait/issues/issue-84919.stderr
deleted file mode 100644
index 5abe1bd8779..00000000000
--- a/src/test/ui/impl-trait/issues/issue-84919.stderr
+++ /dev/null
@@ -1,9 +0,0 @@
-error[E0562]: `impl Trait` only allowed in function and inherent method return types, not in variable binding
-  --> $DIR/issue-84919.rs:5:13
-   |
-LL |     let _x: impl Trait = ();
-   |             ^^^^^^^^^^
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0562`.
diff --git a/src/test/ui/impl-trait/issues/issue-86201.rs b/src/test/ui/impl-trait/issues/issue-86201.rs
deleted file mode 100644
index 0786e66ca8b..00000000000
--- a/src/test/ui/impl-trait/issues/issue-86201.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-#![feature(unboxed_closures)]
-#![feature(type_alias_impl_trait)]
-
-// check-pass
-
-type FunType = impl Fn<()>;
-static STATIC_FN: FunType = some_fn;
-
-fn some_fn() {}
-
-fn main() {
-    let _: <FunType as FnOnce<()>>::Output = STATIC_FN();
-}
diff --git a/src/test/ui/impl-trait/issues/issue-86642.rs b/src/test/ui/impl-trait/issues/issue-86642.rs
deleted file mode 100644
index e6e95771400..00000000000
--- a/src/test/ui/impl-trait/issues/issue-86642.rs
+++ /dev/null
@@ -1,8 +0,0 @@
-static x: impl Fn(&str) -> Result<&str, ()> = move |source| {
-    //~^ `impl Trait` only allowed in function and inherent method return types
-    let res = (move |source| Ok(source))(source);
-    let res = res.or((move |source| Ok(source))(source));
-    res
-};
-
-fn main() {}
diff --git a/src/test/ui/impl-trait/issues/issue-86642.stderr b/src/test/ui/impl-trait/issues/issue-86642.stderr
deleted file mode 100644
index 0ec118d5be8..00000000000
--- a/src/test/ui/impl-trait/issues/issue-86642.stderr
+++ /dev/null
@@ -1,9 +0,0 @@
-error[E0562]: `impl Trait` only allowed in function and inherent method return types, not in type
-  --> $DIR/issue-86642.rs:1:11
-   |
-LL | static x: impl Fn(&str) -> Result<&str, ()> = move |source| {
-   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0562`.
diff --git a/src/test/ui/impl-trait/issues/issue-86719.rs b/src/test/ui/impl-trait/issues/issue-86719.rs
deleted file mode 100644
index f4b0b3f33fc..00000000000
--- a/src/test/ui/impl-trait/issues/issue-86719.rs
+++ /dev/null
@@ -1,12 +0,0 @@
-#![feature(type_alias_impl_trait)]
-
-trait Bar {
-    type E;
-}
-impl<S> Bar for S {
-    type E = impl ; //~ ERROR at least one trait must be specified
-    fn foo() -> Self::E { //~ ERROR `foo` is not a member
-        |_| true //~ ERROR type annotations needed
-    }
-}
-fn main() {}
diff --git a/src/test/ui/impl-trait/issues/issue-86719.stderr b/src/test/ui/impl-trait/issues/issue-86719.stderr
deleted file mode 100644
index 7592418fdfd..00000000000
--- a/src/test/ui/impl-trait/issues/issue-86719.stderr
+++ /dev/null
@@ -1,29 +0,0 @@
-error: at least one trait must be specified
-  --> $DIR/issue-86719.rs:7:14
-   |
-LL |     type E = impl ;
-   |              ^^^^
-
-error[E0407]: method `foo` is not a member of trait `Bar`
-  --> $DIR/issue-86719.rs:8:5
-   |
-LL | /     fn foo() -> Self::E {
-LL | |         |_| true
-LL | |     }
-   | |_____^ not a member of trait `Bar`
-
-error[E0282]: type annotations needed
-  --> $DIR/issue-86719.rs:9:10
-   |
-LL |         |_| true
-   |          ^
-   |
-help: consider giving this closure parameter an explicit type
-   |
-LL |         |_: /* Type */| true
-   |           ++++++++++++
-
-error: aborting due to 3 previous errors
-
-Some errors have detailed explanations: E0282, E0407.
-For more information about an error, try `rustc --explain E0282`.
diff --git a/src/test/ui/impl-trait/issues/issue-86800.rs b/src/test/ui/impl-trait/issues/issue-86800.rs
deleted file mode 100644
index 351243c6727..00000000000
--- a/src/test/ui/impl-trait/issues/issue-86800.rs
+++ /dev/null
@@ -1,55 +0,0 @@
-#![feature(type_alias_impl_trait)]
-
-// edition:2021
-// unset-rustc-env:RUST_BACKTRACE
-// compile-flags:-Z treat-err-as-bug=1
-// error-pattern:stack backtrace:
-// failure-status:101
-// normalize-stderr-test "note: .*" -> ""
-// normalize-stderr-test "thread 'rustc' .*" -> ""
-// normalize-stderr-test " +[0-9]+:.*\n" -> ""
-// normalize-stderr-test " +at .*\n" -> ""
-
-use std::future::Future;
-
-struct Connection {
-}
-
-trait Transaction {
-}
-
-struct TestTransaction<'conn> {
-    conn: &'conn Connection
-}
-
-impl<'conn> Transaction for TestTransaction<'conn> {
-}
-
-struct Context {
-}
-
-type TransactionResult<O> = Result<O, ()>;
-
-type TransactionFuture<'__, O> = impl '__ + Future<Output = TransactionResult<O>>;
-
-fn execute_transaction_fut<'f, F, O>(
-    f: F,
-) -> impl FnOnce(&mut dyn Transaction) -> TransactionFuture<'_, O>
-where
-    F: FnOnce(&mut dyn Transaction) -> TransactionFuture<'_, O> + 'f
-{
-    f
-}
-
-impl Context {
-    async fn do_transaction<O>(
-        &self, f: impl FnOnce(&mut dyn Transaction) -> TransactionFuture<'_, O>
-    ) -> TransactionResult<O>
-    {
-        let mut conn = Connection {};
-        let mut transaction = TestTransaction { conn: &mut conn };
-        f(&mut transaction).await
-    }
-}
-
-fn main() {}
diff --git a/src/test/ui/impl-trait/issues/issue-86800.stderr b/src/test/ui/impl-trait/issues/issue-86800.stderr
deleted file mode 100644
index 6c4aa35679d..00000000000
--- a/src/test/ui/impl-trait/issues/issue-86800.stderr
+++ /dev/null
@@ -1,26 +0,0 @@
-error: unconstrained opaque type
-  --> $DIR/issue-86800.rs:33:34
-   |
-LL | type TransactionFuture<'__, O> = impl '__ + Future<Output = TransactionResult<O>>;
-   |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-   |
-   = 
-
-
-stack backtrace:
-
-error: internal compiler error: unexpected panic
-
-
-
-
-
-
-
-
-
-query stack during panic:
-#0 [type_of] computing type of `TransactionFuture::{opaque#0}`
-#1 [check_mod_item_types] checking item types in top-level module
-#2 [analysis] running analysis passes on this crate
-end of query stack
diff --git a/src/test/ui/impl-trait/issues/issue-87295.rs b/src/test/ui/impl-trait/issues/issue-87295.rs
deleted file mode 100644
index aeb8f83326e..00000000000
--- a/src/test/ui/impl-trait/issues/issue-87295.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-trait Trait {
-    type Output;
-}
-impl Trait for () {
-    type Output = i32;
-}
-
-struct Struct<F>(F);
-impl<F> Struct<F> {
-    pub fn new(_: F) -> Self {
-        todo!()
-    }
-}
-
-fn main() {
-    let _do_not_waste: Struct<impl Trait<Output = i32>> = Struct::new(());
-    //~^ `impl Trait` only allowed in function and inherent method return types
-}
diff --git a/src/test/ui/impl-trait/issues/issue-87295.stderr b/src/test/ui/impl-trait/issues/issue-87295.stderr
deleted file mode 100644
index 0b043056b84..00000000000
--- a/src/test/ui/impl-trait/issues/issue-87295.stderr
+++ /dev/null
@@ -1,9 +0,0 @@
-error[E0562]: `impl Trait` only allowed in function and inherent method return types, not in variable binding
-  --> $DIR/issue-87295.rs:16:31
-   |
-LL |     let _do_not_waste: Struct<impl Trait<Output = i32>> = Struct::new(());
-   |                               ^^^^^^^^^^^^^^^^^^^^^^^^
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0562`.
diff --git a/src/test/ui/impl-trait/issues/issue-87340.rs b/src/test/ui/impl-trait/issues/issue-87340.rs
deleted file mode 100644
index f0f6d2bb61c..00000000000
--- a/src/test/ui/impl-trait/issues/issue-87340.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-#![feature(type_alias_impl_trait)]
-
-trait X {
-    type I;
-    fn f() -> Self::I;
-}
-
-impl<T> X for () {
-//~^ ERROR `T` is not constrained by the impl trait, self type, or predicates
-    type I = impl Sized;
-    fn f() -> Self::I {}
-}
-
-fn main() {}
diff --git a/src/test/ui/impl-trait/issues/issue-87340.stderr b/src/test/ui/impl-trait/issues/issue-87340.stderr
deleted file mode 100644
index 2ab1e6a0312..00000000000
--- a/src/test/ui/impl-trait/issues/issue-87340.stderr
+++ /dev/null
@@ -1,9 +0,0 @@
-error[E0207]: the type parameter `T` is not constrained by the impl trait, self type, or predicates
-  --> $DIR/issue-87340.rs:8:6
-   |
-LL | impl<T> X for () {
-   |      ^ unconstrained type parameter
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0207`.
diff --git a/src/test/ui/impl-trait/issues/issue-88236-2.rs b/src/test/ui/impl-trait/issues/issue-88236-2.rs
deleted file mode 100644
index fde8a6704cc..00000000000
--- a/src/test/ui/impl-trait/issues/issue-88236-2.rs
+++ /dev/null
@@ -1,28 +0,0 @@
-// this used to cause stack overflows
-
-trait Hrtb<'a> {
-    type Assoc;
-}
-
-impl<'a> Hrtb<'a> for () {
-    type Assoc = ();
-}
-
-impl<'a> Hrtb<'a> for &'a () {
-    type Assoc = ();
-}
-
-fn make_impl() -> impl for<'a> Hrtb<'a, Assoc = impl Send + 'a> {}
-//~^ ERROR higher kinded lifetime bounds on nested opaque types are not supported yet
-
-fn make_weird_impl<'b>(x: &'b ()) -> impl for<'a> Hrtb<'a, Assoc = impl Send + 'a> {
-    //~^ ERROR higher kinded lifetime bounds on nested opaque types are not supported yet
-    &()
-}
-
-fn make_bad_impl<'b>(x: &'b ()) -> impl for<'a> Hrtb<'a, Assoc = impl Send + 'a> {
-    //~^ ERROR higher kinded lifetime bounds on nested opaque types are not supported yet
-    x
-}
-
-fn main() {}
diff --git a/src/test/ui/impl-trait/issues/issue-88236-2.stderr b/src/test/ui/impl-trait/issues/issue-88236-2.stderr
deleted file mode 100644
index 8605d07abe9..00000000000
--- a/src/test/ui/impl-trait/issues/issue-88236-2.stderr
+++ /dev/null
@@ -1,38 +0,0 @@
-error: higher kinded lifetime bounds on nested opaque types are not supported yet
-  --> $DIR/issue-88236-2.rs:15:61
-   |
-LL | fn make_impl() -> impl for<'a> Hrtb<'a, Assoc = impl Send + 'a> {}
-   |                                                             ^^
-   |
-note: lifetime declared here
-  --> $DIR/issue-88236-2.rs:15:28
-   |
-LL | fn make_impl() -> impl for<'a> Hrtb<'a, Assoc = impl Send + 'a> {}
-   |                            ^^
-
-error: higher kinded lifetime bounds on nested opaque types are not supported yet
-  --> $DIR/issue-88236-2.rs:18:80
-   |
-LL | fn make_weird_impl<'b>(x: &'b ()) -> impl for<'a> Hrtb<'a, Assoc = impl Send + 'a> {
-   |                                                                                ^^
-   |
-note: lifetime declared here
-  --> $DIR/issue-88236-2.rs:18:47
-   |
-LL | fn make_weird_impl<'b>(x: &'b ()) -> impl for<'a> Hrtb<'a, Assoc = impl Send + 'a> {
-   |                                               ^^
-
-error: higher kinded lifetime bounds on nested opaque types are not supported yet
-  --> $DIR/issue-88236-2.rs:23:78
-   |
-LL | fn make_bad_impl<'b>(x: &'b ()) -> impl for<'a> Hrtb<'a, Assoc = impl Send + 'a> {
-   |                                                                              ^^
-   |
-note: lifetime declared here
-  --> $DIR/issue-88236-2.rs:23:45
-   |
-LL | fn make_bad_impl<'b>(x: &'b ()) -> impl for<'a> Hrtb<'a, Assoc = impl Send + 'a> {
-   |                                             ^^
-
-error: aborting due to 3 previous errors
-
diff --git a/src/test/ui/impl-trait/issues/issue-88236.rs b/src/test/ui/impl-trait/issues/issue-88236.rs
deleted file mode 100644
index 36d12417354..00000000000
--- a/src/test/ui/impl-trait/issues/issue-88236.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-// this used to cause stack overflows
-
-trait Hrtb<'a> {
-    type Assoc;
-}
-
-impl<'a> Hrtb<'a> for () {
-    type Assoc = ();
-}
-
-impl<'a> Hrtb<'a> for &'a () {
-    type Assoc = ();
-}
-
-fn make_impl() -> impl for<'a> Hrtb<'a, Assoc = impl Send + 'a> {}
-//~^ ERROR higher kinded lifetime bounds on nested opaque types are not supported yet
-
-fn main() {}
diff --git a/src/test/ui/impl-trait/issues/issue-88236.stderr b/src/test/ui/impl-trait/issues/issue-88236.stderr
deleted file mode 100644
index 7a4cc57b088..00000000000
--- a/src/test/ui/impl-trait/issues/issue-88236.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error: higher kinded lifetime bounds on nested opaque types are not supported yet
-  --> $DIR/issue-88236.rs:15:61
-   |
-LL | fn make_impl() -> impl for<'a> Hrtb<'a, Assoc = impl Send + 'a> {}
-   |                                                             ^^
-   |
-note: lifetime declared here
-  --> $DIR/issue-88236.rs:15:28
-   |
-LL | fn make_impl() -> impl for<'a> Hrtb<'a, Assoc = impl Send + 'a> {}
-   |                            ^^
-
-error: aborting due to previous error
-
diff --git a/src/test/ui/impl-trait/issues/issue-89312.rs b/src/test/ui/impl-trait/issues/issue-89312.rs
deleted file mode 100644
index d685a6f1201..00000000000
--- a/src/test/ui/impl-trait/issues/issue-89312.rs
+++ /dev/null
@@ -1,24 +0,0 @@
-#![feature(type_alias_impl_trait)]
-
-// check-pass
-
-trait T { type Item; }
-
-type Alias<'a> = impl T<Item = &'a ()>;
-
-struct S;
-impl<'a> T for &'a S {
-    type Item = &'a ();
-}
-
-fn filter_positive<'a>() -> Alias<'a> {
-    &S
-}
-
-fn with_positive(fun: impl Fn(Alias<'_>)) {
-    fun(filter_positive());
-}
-
-fn main() {
-    with_positive(|_| ());
-}
diff --git a/src/test/ui/impl-trait/issues/issue-92305.rs b/src/test/ui/impl-trait/issues/issue-92305.rs
deleted file mode 100644
index 4a89238d07e..00000000000
--- a/src/test/ui/impl-trait/issues/issue-92305.rs
+++ /dev/null
@@ -1,14 +0,0 @@
-// edition:2021
-
-use std::iter;
-
-fn f<T>(data: &[T]) -> impl Iterator<Item = Vec> {
-    //~^ ERROR: missing generics for struct `Vec` [E0107]
-    iter::empty()
-}
-
-fn g<T>(data: &[T], target: T) -> impl Iterator<Item = Vec<T>> {
-    f(data).filter(|x| x == target)
-}
-
-fn main() {}
diff --git a/src/test/ui/impl-trait/issues/issue-92305.stderr b/src/test/ui/impl-trait/issues/issue-92305.stderr
deleted file mode 100644
index 86d7184da7a..00000000000
--- a/src/test/ui/impl-trait/issues/issue-92305.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error[E0107]: missing generics for struct `Vec`
-  --> $DIR/issue-92305.rs:5:45
-   |
-LL | fn f<T>(data: &[T]) -> impl Iterator<Item = Vec> {
-   |                                             ^^^ expected at least 1 generic argument
-   |
-help: add missing generic argument
-   |
-LL | fn f<T>(data: &[T]) -> impl Iterator<Item = Vec<T>> {
-   |                                                +++
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0107`.
diff --git a/src/test/ui/impl-trait/issues/issue-93788.rs b/src/test/ui/impl-trait/issues/issue-93788.rs
deleted file mode 100644
index 6924931cda5..00000000000
--- a/src/test/ui/impl-trait/issues/issue-93788.rs
+++ /dev/null
@@ -1,27 +0,0 @@
-// check-pass
-
-struct D;
-
-trait Tr {
-    type It;
-    fn foo(self) -> Option<Self::It>;
-}
-
-impl<'a> Tr for &'a D {
-    type It = ();
-    fn foo(self) -> Option<()> { None }
-}
-
-fn run<F>(f: F)
-    where for<'a> &'a D: Tr,
-          F: Fn(<&D as Tr>::It),
-{
-    let d = &D;
-    while let Some(i) = d.foo() {
-        f(i);
-    }
-}
-
-fn main() {
-    run(|_| {});
-}
diff --git a/src/test/ui/impl-trait/issues/issue-99348-impl-compatibility.rs b/src/test/ui/impl-trait/issues/issue-99348-impl-compatibility.rs
deleted file mode 100644
index b05579f2166..00000000000
--- a/src/test/ui/impl-trait/issues/issue-99348-impl-compatibility.rs
+++ /dev/null
@@ -1,26 +0,0 @@
-#![feature(type_alias_impl_trait)]
-
-struct Concrete;
-
-type Tait = impl Sized;
-
-impl Foo for Concrete {
-    type Item = Concrete;
-    //~^ type mismatch resolving
-}
-
-impl Bar for Concrete {
-    type Other = Tait;
-}
-
-trait Foo {
-    type Item: Bar<Other = Self>;
-}
-
-trait Bar {
-    type Other;
-}
-
-fn tait() -> Tait {}
-
-fn main() {}
diff --git a/src/test/ui/impl-trait/issues/issue-99348-impl-compatibility.stderr b/src/test/ui/impl-trait/issues/issue-99348-impl-compatibility.stderr
deleted file mode 100644
index f0dceb1b11a..00000000000
--- a/src/test/ui/impl-trait/issues/issue-99348-impl-compatibility.stderr
+++ /dev/null
@@ -1,25 +0,0 @@
-error[E0271]: type mismatch resolving `<Concrete as Bar>::Other == Concrete`
-  --> $DIR/issue-99348-impl-compatibility.rs:8:17
-   |
-LL | type Tait = impl Sized;
-   |             ---------- the found opaque type
-...
-LL |     type Item = Concrete;
-   |                 ^^^^^^^^ type mismatch resolving `<Concrete as Bar>::Other == Concrete`
-   |
-note: expected this to be `Concrete`
-  --> $DIR/issue-99348-impl-compatibility.rs:13:18
-   |
-LL |     type Other = Tait;
-   |                  ^^^^
-   = note:   expected struct `Concrete`
-           found opaque type `Tait`
-note: required by a bound in `Foo::Item`
-  --> $DIR/issue-99348-impl-compatibility.rs:17:20
-   |
-LL |     type Item: Bar<Other = Self>;
-   |                    ^^^^^^^^^^^^ required by this bound in `Foo::Item`
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0271`.