summaryrefslogtreecommitdiffstats
path: root/src/test/ui/generic-associated-types/bugs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/generic-associated-types/bugs')
-rw-r--r--src/test/ui/generic-associated-types/bugs/hrtb-implied-1.rs35
-rw-r--r--src/test/ui/generic-associated-types/bugs/hrtb-implied-1.stderr20
-rw-r--r--src/test/ui/generic-associated-types/bugs/hrtb-implied-2.rs40
-rw-r--r--src/test/ui/generic-associated-types/bugs/hrtb-implied-2.stderr22
-rw-r--r--src/test/ui/generic-associated-types/bugs/hrtb-implied-3.rs23
-rw-r--r--src/test/ui/generic-associated-types/bugs/hrtb-implied-3.stderr22
-rw-r--r--src/test/ui/generic-associated-types/bugs/issue-100013.rs39
-rw-r--r--src/test/ui/generic-associated-types/bugs/issue-100013.stderr82
-rw-r--r--src/test/ui/generic-associated-types/bugs/issue-80626.rs12
-rw-r--r--src/test/ui/generic-associated-types/bugs/issue-87735.rs44
-rw-r--r--src/test/ui/generic-associated-types/bugs/issue-87735.stderr9
-rw-r--r--src/test/ui/generic-associated-types/bugs/issue-87755.rs19
-rw-r--r--src/test/ui/generic-associated-types/bugs/issue-87755.stderr9
-rw-r--r--src/test/ui/generic-associated-types/bugs/issue-87803.rs25
-rw-r--r--src/test/ui/generic-associated-types/bugs/issue-87803.stderr12
-rw-r--r--src/test/ui/generic-associated-types/bugs/issue-88382.rs29
-rw-r--r--src/test/ui/generic-associated-types/bugs/issue-88382.stderr22
-rw-r--r--src/test/ui/generic-associated-types/bugs/issue-88460.rs29
-rw-r--r--src/test/ui/generic-associated-types/bugs/issue-88460.stderr21
-rw-r--r--src/test/ui/generic-associated-types/bugs/issue-88526.rs33
-rw-r--r--src/test/ui/generic-associated-types/bugs/issue-88526.stderr9
-rw-r--r--src/test/ui/generic-associated-types/bugs/issue-91762.rs29
-rw-r--r--src/test/ui/generic-associated-types/bugs/issue-91762.stderr14
23 files changed, 0 insertions, 599 deletions
diff --git a/src/test/ui/generic-associated-types/bugs/hrtb-implied-1.rs b/src/test/ui/generic-associated-types/bugs/hrtb-implied-1.rs
deleted file mode 100644
index 719d1bd5a..000000000
--- a/src/test/ui/generic-associated-types/bugs/hrtb-implied-1.rs
+++ /dev/null
@@ -1,35 +0,0 @@
-// check-fail
-// known-bug
-
-// This gives us problems because `for<'a> I::Item<'a>: Debug` should mean "for
-// all 'a where I::Item<'a> is WF", but really means "for all 'a possible"
-
-use std::fmt::Debug;
-
-pub trait LendingIterator {
- type Item<'this>
- where
- Self: 'this;
-}
-
-pub struct WindowsMut<'x> {
- slice: &'x (),
-}
-
-impl<'y> LendingIterator for WindowsMut<'y> {
- type Item<'this> = &'this mut () where 'y: 'this;
-}
-
-fn print_items<I>(_iter: I)
-where
- I: LendingIterator,
- for<'a> I::Item<'a>: Debug,
-{
-}
-
-fn main() {
- let slice = &mut ();
- //~^ temporary value dropped while borrowed
- let windows = WindowsMut { slice };
- print_items::<WindowsMut<'_>>(windows);
-}
diff --git a/src/test/ui/generic-associated-types/bugs/hrtb-implied-1.stderr b/src/test/ui/generic-associated-types/bugs/hrtb-implied-1.stderr
deleted file mode 100644
index 1c9abc4e8..000000000
--- a/src/test/ui/generic-associated-types/bugs/hrtb-implied-1.stderr
+++ /dev/null
@@ -1,20 +0,0 @@
-error[E0716]: temporary value dropped while borrowed
- --> $DIR/hrtb-implied-1.rs:31:22
- |
-LL | let slice = &mut ();
- | ^^ creates a temporary value which is freed while still in use
-...
-LL | print_items::<WindowsMut<'_>>(windows);
- | -------------------------------------- argument requires that borrow lasts for `'static`
-LL | }
- | - temporary value is freed at the end of this statement
- |
-note: due to current limitations in the borrow checker, this implies a `'static` lifetime
- --> $DIR/hrtb-implied-1.rs:26:26
- |
-LL | for<'a> I::Item<'a>: Debug,
- | ^^^^^
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0716`.
diff --git a/src/test/ui/generic-associated-types/bugs/hrtb-implied-2.rs b/src/test/ui/generic-associated-types/bugs/hrtb-implied-2.rs
deleted file mode 100644
index 8e6c5348e..000000000
--- a/src/test/ui/generic-associated-types/bugs/hrtb-implied-2.rs
+++ /dev/null
@@ -1,40 +0,0 @@
-// check-fail
-// known-bug
-
-// This gives us problems because `for<'a> I::Item<'a>: Debug` should mean "for
-// all 'a where I::Item<'a> is WF", but really means "for all 'a possible"
-
-trait LendingIterator: Sized {
- type Item<'a>
- where
- Self: 'a;
- fn next(&mut self) -> Self::Item<'_>;
-}
-fn fails<I: LendingIterator, F>(iter: &mut I, f: F) -> bool
-where
- F: FnMut(I::Item<'_>),
-{
- let mut iter2 = Eat(iter, f);
- let _next = iter2.next();
- //~^ borrowed data escapes
- true
-}
-impl<I: LendingIterator> LendingIterator for &mut I {
- type Item<'a> = I::Item<'a> where Self:'a;
- fn next(&mut self) -> Self::Item<'_> {
- (**self).next()
- }
-}
-
-struct Eat<I, F>(I, F);
-impl<I: LendingIterator, F> Iterator for Eat<I, F>
-where
- F: FnMut(I::Item<'_>),
-{
- type Item = ();
- fn next(&mut self) -> Option<Self::Item> {
- None
- }
-}
-
-fn main() {}
diff --git a/src/test/ui/generic-associated-types/bugs/hrtb-implied-2.stderr b/src/test/ui/generic-associated-types/bugs/hrtb-implied-2.stderr
deleted file mode 100644
index 1ee270398..000000000
--- a/src/test/ui/generic-associated-types/bugs/hrtb-implied-2.stderr
+++ /dev/null
@@ -1,22 +0,0 @@
-error[E0521]: borrowed data escapes outside of function
- --> $DIR/hrtb-implied-2.rs:18:17
- |
-LL | fn fails<I: LendingIterator, F>(iter: &mut I, f: F) -> bool
- | ---- - let's call the lifetime of this reference `'1`
- | |
- | `iter` is a reference that is only valid in the function body
-...
-LL | let _next = iter2.next();
- | ^^^^^^^^^^^^
- | |
- | `iter` escapes the function body here
- | argument requires that `'1` must outlive `'static`
- |
- = note: requirement occurs because of a mutable reference to `Eat<&mut I, F>`
- = note: mutable references are invariant over their type parameter
- = help: see <https://doc.rust-lang.org/nomicon/subtyping.html> for more information about variance
- = note: due to current limitations in the borrow checker, this implies a `'static` lifetime
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0521`.
diff --git a/src/test/ui/generic-associated-types/bugs/hrtb-implied-3.rs b/src/test/ui/generic-associated-types/bugs/hrtb-implied-3.rs
deleted file mode 100644
index bc9e6c8ae..000000000
--- a/src/test/ui/generic-associated-types/bugs/hrtb-implied-3.rs
+++ /dev/null
@@ -1,23 +0,0 @@
-trait LendingIterator {
- type Item<'a>
- where
- Self: 'a;
-}
-
-impl LendingIterator for &str {
- type Item<'a> = () where Self:'a;
-}
-
-fn trivial_bound<I>(_: I)
-where
- I: LendingIterator,
- for<'a> I::Item<'a>: Sized,
-{
-}
-
-fn fails(iter: &str) {
- trivial_bound(iter);
- //~^ borrowed data escapes
-}
-
-fn main() {}
diff --git a/src/test/ui/generic-associated-types/bugs/hrtb-implied-3.stderr b/src/test/ui/generic-associated-types/bugs/hrtb-implied-3.stderr
deleted file mode 100644
index c67e02437..000000000
--- a/src/test/ui/generic-associated-types/bugs/hrtb-implied-3.stderr
+++ /dev/null
@@ -1,22 +0,0 @@
-error[E0521]: borrowed data escapes outside of function
- --> $DIR/hrtb-implied-3.rs:19:5
- |
-LL | fn fails(iter: &str) {
- | ---- - let's call the lifetime of this reference `'1`
- | |
- | `iter` is a reference that is only valid in the function body
-LL | trivial_bound(iter);
- | ^^^^^^^^^^^^^^^^^^^
- | |
- | `iter` escapes the function body here
- | argument requires that `'1` must outlive `'static`
- |
-note: due to current limitations in the borrow checker, this implies a `'static` lifetime
- --> $DIR/hrtb-implied-3.rs:14:26
- |
-LL | for<'a> I::Item<'a>: Sized,
- | ^^^^^
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0521`.
diff --git a/src/test/ui/generic-associated-types/bugs/issue-100013.rs b/src/test/ui/generic-associated-types/bugs/issue-100013.rs
deleted file mode 100644
index fc4e47a3b..000000000
--- a/src/test/ui/generic-associated-types/bugs/issue-100013.rs
+++ /dev/null
@@ -1,39 +0,0 @@
-// check-fail
-// known-bug
-// edition: 2021
-
-// We really should accept this, but we need implied bounds between the regions
-// in a generator interior.
-
-pub trait FutureIterator {
- type Future<'s, 'cx>: Send
- where
- 's: 'cx;
-}
-
-fn call<I: FutureIterator>() -> impl Send {
- async { // a generator checked for autotrait impl `Send`
- //~^ lifetime bound not satisfied
- let x = None::<I::Future<'_, '_>>; // a type referencing GAT
- async {}.await; // a yield point
- }
-}
-
-fn call2<'a, 'b, I: FutureIterator>() -> impl Send {
- async { // a generator checked for autotrait impl `Send`
- //~^ lifetime bound not satisfied
- let x = None::<I::Future<'a, 'b>>; // a type referencing GAT
- //~^ lifetime may not live long enough
- async {}.await; // a yield point
- }
-}
-
-fn call3<'a: 'b, 'b, I: FutureIterator>() -> impl Send {
- async { // a generator checked for autotrait impl `Send`
- //~^ lifetime bound not satisfied
- let x = None::<I::Future<'a, 'b>>; // a type referencing GAT
- async {}.await; // a yield point
- }
-}
-
-fn main() {}
diff --git a/src/test/ui/generic-associated-types/bugs/issue-100013.stderr b/src/test/ui/generic-associated-types/bugs/issue-100013.stderr
deleted file mode 100644
index 72ae288dc..000000000
--- a/src/test/ui/generic-associated-types/bugs/issue-100013.stderr
+++ /dev/null
@@ -1,82 +0,0 @@
-error: lifetime bound not satisfied
- --> $DIR/issue-100013.rs:15:5
- |
-LL | / async { // a generator checked for autotrait impl `Send`
-LL | |
-LL | | let x = None::<I::Future<'_, '_>>; // a type referencing GAT
-LL | | async {}.await; // a yield point
-LL | | }
- | |_____^
- |
-note: the lifetime defined here...
- --> $DIR/issue-100013.rs:17:38
- |
-LL | let x = None::<I::Future<'_, '_>>; // a type referencing GAT
- | ^^
-note: ...must outlive the lifetime defined here
- --> $DIR/issue-100013.rs:17:34
- |
-LL | let x = None::<I::Future<'_, '_>>; // a type referencing GAT
- | ^^
- = note: this is a known limitation that will be removed in the future (see issue #100013 <https://github.com/rust-lang/rust/issues/100013> for more information)
-
-error: lifetime bound not satisfied
- --> $DIR/issue-100013.rs:23:5
- |
-LL | / async { // a generator checked for autotrait impl `Send`
-LL | |
-LL | | let x = None::<I::Future<'a, 'b>>; // a type referencing GAT
-LL | |
-LL | | async {}.await; // a yield point
-LL | | }
- | |_____^
- |
-note: the lifetime defined here...
- --> $DIR/issue-100013.rs:22:14
- |
-LL | fn call2<'a, 'b, I: FutureIterator>() -> impl Send {
- | ^^
-note: ...must outlive the lifetime defined here
- --> $DIR/issue-100013.rs:22:10
- |
-LL | fn call2<'a, 'b, I: FutureIterator>() -> impl Send {
- | ^^
- = note: this is a known limitation that will be removed in the future (see issue #100013 <https://github.com/rust-lang/rust/issues/100013> for more information)
-
-error: lifetime may not live long enough
- --> $DIR/issue-100013.rs:25:17
- |
-LL | fn call2<'a, 'b, I: FutureIterator>() -> impl Send {
- | -- -- lifetime `'b` defined here
- | |
- | lifetime `'a` defined here
-...
-LL | let x = None::<I::Future<'a, 'b>>; // a type referencing GAT
- | ^^^^^^^^^^^^^^^^^^^^^^^^^ requires that `'a` must outlive `'b`
- |
- = help: consider adding the following bound: `'a: 'b`
-
-error: lifetime bound not satisfied
- --> $DIR/issue-100013.rs:32:5
- |
-LL | / async { // a generator checked for autotrait impl `Send`
-LL | |
-LL | | let x = None::<I::Future<'a, 'b>>; // a type referencing GAT
-LL | | async {}.await; // a yield point
-LL | | }
- | |_____^
- |
-note: the lifetime defined here...
- --> $DIR/issue-100013.rs:31:18
- |
-LL | fn call3<'a: 'b, 'b, I: FutureIterator>() -> impl Send {
- | ^^
-note: ...must outlive the lifetime defined here
- --> $DIR/issue-100013.rs:31:10
- |
-LL | fn call3<'a: 'b, 'b, I: FutureIterator>() -> impl Send {
- | ^^
- = note: this is a known limitation that will be removed in the future (see issue #100013 <https://github.com/rust-lang/rust/issues/100013> for more information)
-
-error: aborting due to 4 previous errors
-
diff --git a/src/test/ui/generic-associated-types/bugs/issue-80626.rs b/src/test/ui/generic-associated-types/bugs/issue-80626.rs
deleted file mode 100644
index d6e18010f..000000000
--- a/src/test/ui/generic-associated-types/bugs/issue-80626.rs
+++ /dev/null
@@ -1,12 +0,0 @@
-// check-pass
-
-trait Allocator {
- type Allocated<T>;
-}
-
-enum LinkedList<A: Allocator> {
- Head,
- Next(A::Allocated<Self>),
-}
-
-fn main() {}
diff --git a/src/test/ui/generic-associated-types/bugs/issue-87735.rs b/src/test/ui/generic-associated-types/bugs/issue-87735.rs
deleted file mode 100644
index 80737a798..000000000
--- a/src/test/ui/generic-associated-types/bugs/issue-87735.rs
+++ /dev/null
@@ -1,44 +0,0 @@
-// check-fail
-// known-bug: #87735, #88526
-
-// This should pass, but we need an extension of implied bounds (probably).
-
-pub trait AsRef2 {
- type Output<'a> where Self: 'a;
-
- fn as_ref2<'a>(&'a self) -> Self::Output<'a>;
-}
-
-impl<T> AsRef2 for Vec<T> {
- type Output<'a> = &'a [T] where Self: 'a;
-
- fn as_ref2<'a>(&'a self) -> Self::Output<'a> {
- &self[..]
- }
-}
-
-#[derive(Debug)]
-struct Foo<T>(T);
-#[derive(Debug)]
-struct FooRef<'a, U>(&'a [U]);
-
-impl<'b, T, U> AsRef2 for Foo<T>
-where
- // * `for<'b, 'c> T: AsRef2<Output<'b> = &'c [U]>>` does not work
- //
- // * `U` is unconstrained but should be allowed in this context because `Output` is
- // an associated type
- T: AsRef2<Output<'b> = &'b [U]>,
- U: 'b
-{
- type Output<'a> = FooRef<'a, U> where Self: 'a;
-
- fn as_ref2<'a>(&'a self) -> Self::Output<'a> {
- FooRef(self.0.as_ref2())
- }
-}
-
-fn main() {
- let foo = Foo(vec![1, 2, 3]);
- dbg!(foo.as_ref2());
-}
diff --git a/src/test/ui/generic-associated-types/bugs/issue-87735.stderr b/src/test/ui/generic-associated-types/bugs/issue-87735.stderr
deleted file mode 100644
index ebe2054ce..000000000
--- a/src/test/ui/generic-associated-types/bugs/issue-87735.stderr
+++ /dev/null
@@ -1,9 +0,0 @@
-error[E0207]: the type parameter `U` is not constrained by the impl trait, self type, or predicates
- --> $DIR/issue-87735.rs:25:13
- |
-LL | impl<'b, T, U> AsRef2 for Foo<T>
- | ^ 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/generic-associated-types/bugs/issue-87755.rs b/src/test/ui/generic-associated-types/bugs/issue-87755.rs
deleted file mode 100644
index cda722d2f..000000000
--- a/src/test/ui/generic-associated-types/bugs/issue-87755.rs
+++ /dev/null
@@ -1,19 +0,0 @@
-// check-fail
-// known-bug: #87755
-
-// This should pass.
-
-use std::fmt::Debug;
-
-trait Foo {
- type Ass where Self::Ass: Debug;
-}
-
-#[derive(Debug)]
-struct Bar;
-
-impl Foo for Bar {
- type Ass = Bar;
-}
-
-fn main() {}
diff --git a/src/test/ui/generic-associated-types/bugs/issue-87755.stderr b/src/test/ui/generic-associated-types/bugs/issue-87755.stderr
deleted file mode 100644
index 5e94db9b0..000000000
--- a/src/test/ui/generic-associated-types/bugs/issue-87755.stderr
+++ /dev/null
@@ -1,9 +0,0 @@
-error[E0275]: overflow evaluating the requirement `<Bar as Foo>::Ass == _`
- --> $DIR/issue-87755.rs:16:16
- |
-LL | type Ass = Bar;
- | ^^^
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0275`.
diff --git a/src/test/ui/generic-associated-types/bugs/issue-87803.rs b/src/test/ui/generic-associated-types/bugs/issue-87803.rs
deleted file mode 100644
index 56237e387..000000000
--- a/src/test/ui/generic-associated-types/bugs/issue-87803.rs
+++ /dev/null
@@ -1,25 +0,0 @@
-// check-fail
-// known-bug: #87803
-
-// This should pass, but using a type alias vs a reference directly
-// changes late-bound -> early-bound.
-
-trait Scanner {
- type Input<'a>;
- type Token<'a>;
-
- fn scan<'a>(&mut self, i : Self::Input<'a>) -> Self::Token<'a>;
-}
-
-struct IdScanner();
-
-impl Scanner for IdScanner {
- type Input<'a> = &'a str;
- type Token<'a> = &'a str;
-
- fn scan<'a>(&mut self, s : &'a str) -> &'a str {
- s
- }
-}
-
-fn main() {}
diff --git a/src/test/ui/generic-associated-types/bugs/issue-87803.stderr b/src/test/ui/generic-associated-types/bugs/issue-87803.stderr
deleted file mode 100644
index fe2abdedb..000000000
--- a/src/test/ui/generic-associated-types/bugs/issue-87803.stderr
+++ /dev/null
@@ -1,12 +0,0 @@
-error[E0195]: lifetime parameters or bounds on method `scan` do not match the trait declaration
- --> $DIR/issue-87803.rs:20:12
- |
-LL | fn scan<'a>(&mut self, i : Self::Input<'a>) -> Self::Token<'a>;
- | ---- lifetimes in impl do not match this method in trait
-...
-LL | fn scan<'a>(&mut self, s : &'a str) -> &'a str {
- | ^^^^ lifetimes do not match method in trait
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0195`.
diff --git a/src/test/ui/generic-associated-types/bugs/issue-88382.rs b/src/test/ui/generic-associated-types/bugs/issue-88382.rs
deleted file mode 100644
index 8f8cc4523..000000000
--- a/src/test/ui/generic-associated-types/bugs/issue-88382.rs
+++ /dev/null
@@ -1,29 +0,0 @@
-// check-fail
-// known-bug: #88382
-
-// This should pass, but has a missed normalization due to HRTB.
-
-trait Iterable {
- type Iterator<'a> where Self: 'a;
- fn iter(&self) -> Self::Iterator<'_>;
-}
-
-struct SomeImplementation();
-
-impl Iterable for SomeImplementation {
- type Iterator<'a> = std::iter::Empty<usize>;
- fn iter(&self) -> Self::Iterator<'_> {
- std::iter::empty()
- }
-}
-
-fn do_something<I: Iterable>(i: I, mut f: impl for<'a> Fn(&mut I::Iterator<'a>)) {
- f(&mut i.iter());
-}
-
-fn main() {
- do_something(SomeImplementation(), |_| ());
- do_something(SomeImplementation(), test);
-}
-
-fn test<'a, I: Iterable>(_: &mut I::Iterator<'a>) {}
diff --git a/src/test/ui/generic-associated-types/bugs/issue-88382.stderr b/src/test/ui/generic-associated-types/bugs/issue-88382.stderr
deleted file mode 100644
index a9a70bb71..000000000
--- a/src/test/ui/generic-associated-types/bugs/issue-88382.stderr
+++ /dev/null
@@ -1,22 +0,0 @@
-error[E0631]: type mismatch in function arguments
- --> $DIR/issue-88382.rs:26:40
- |
-LL | do_something(SomeImplementation(), test);
- | ------------ ^^^^ expected due to this
- | |
- | required by a bound introduced by this call
-...
-LL | fn test<'a, I: Iterable>(_: &mut I::Iterator<'a>) {}
- | ------------------------------------------------- found signature defined here
- |
- = note: expected function signature `for<'a> fn(&'a mut std::iter::Empty<usize>) -> _`
- found function signature `for<'a, 'b> fn(&'b mut <_ as Iterable>::Iterator<'a>) -> _`
-note: required by a bound in `do_something`
- --> $DIR/issue-88382.rs:20:48
- |
-LL | fn do_something<I: Iterable>(i: I, mut f: impl for<'a> Fn(&mut I::Iterator<'a>)) {
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `do_something`
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0631`.
diff --git a/src/test/ui/generic-associated-types/bugs/issue-88460.rs b/src/test/ui/generic-associated-types/bugs/issue-88460.rs
deleted file mode 100644
index 224e696ad..000000000
--- a/src/test/ui/generic-associated-types/bugs/issue-88460.rs
+++ /dev/null
@@ -1,29 +0,0 @@
-// check-fail
-// known-bug: #88460
-
-// This should pass, but has a missed normalization due to HRTB.
-
-pub trait Marker {}
-
-pub trait Trait {
- type Assoc<'a>;
-}
-
-fn test<T>(value: T)
-where
- T: Trait,
- for<'a> T::Assoc<'a>: Marker,
-{
-}
-
-impl Marker for () {}
-
-struct Foo;
-
-impl Trait for Foo {
- type Assoc<'a> = ();
-}
-
-fn main() {
- test(Foo);
-}
diff --git a/src/test/ui/generic-associated-types/bugs/issue-88460.stderr b/src/test/ui/generic-associated-types/bugs/issue-88460.stderr
deleted file mode 100644
index 6612c4b49..000000000
--- a/src/test/ui/generic-associated-types/bugs/issue-88460.stderr
+++ /dev/null
@@ -1,21 +0,0 @@
-error[E0277]: the trait bound `for<'a> <_ as Trait>::Assoc<'a>: Marker` is not satisfied
- --> $DIR/issue-88460.rs:28:10
- |
-LL | test(Foo);
- | ---- ^^^ the trait `for<'a> Marker` is not implemented for `<_ as Trait>::Assoc<'a>`
- | |
- | required by a bound introduced by this call
- |
- = help: the trait `Marker` is implemented for `()`
-note: required by a bound in `test`
- --> $DIR/issue-88460.rs:15:27
- |
-LL | fn test<T>(value: T)
- | ---- required by a bound in this
-...
-LL | for<'a> T::Assoc<'a>: Marker,
- | ^^^^^^ required by this bound in `test`
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0277`.
diff --git a/src/test/ui/generic-associated-types/bugs/issue-88526.rs b/src/test/ui/generic-associated-types/bugs/issue-88526.rs
deleted file mode 100644
index 99397744f..000000000
--- a/src/test/ui/generic-associated-types/bugs/issue-88526.rs
+++ /dev/null
@@ -1,33 +0,0 @@
-// check-fail
-// known-bug: #88526
-
-// This should pass, but requires more logic.
-
-trait A {
- type I<'a>;
-}
-
-pub struct TestA<F>
-{
- f: F,
-}
-
-impl<F> A for TestA<F> {
- type I<'a> = &'a F;
-}
-
-struct TestB<Q, F>
-{
- q: Q,
- f: F,
-}
-
-impl<'q, Q, I, F> A for TestB<Q, F>
-where
- Q: A<I<'q> = &'q I>,
- F: Fn(I),
-{
- type I<'a> = ();
-}
-
-fn main() {}
diff --git a/src/test/ui/generic-associated-types/bugs/issue-88526.stderr b/src/test/ui/generic-associated-types/bugs/issue-88526.stderr
deleted file mode 100644
index 56857c655..000000000
--- a/src/test/ui/generic-associated-types/bugs/issue-88526.stderr
+++ /dev/null
@@ -1,9 +0,0 @@
-error[E0207]: the type parameter `I` is not constrained by the impl trait, self type, or predicates
- --> $DIR/issue-88526.rs:25:13
- |
-LL | impl<'q, Q, I, F> A for TestB<Q, F>
- | ^ 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/generic-associated-types/bugs/issue-91762.rs b/src/test/ui/generic-associated-types/bugs/issue-91762.rs
deleted file mode 100644
index dec668bec..000000000
--- a/src/test/ui/generic-associated-types/bugs/issue-91762.rs
+++ /dev/null
@@ -1,29 +0,0 @@
-// check-fail
-// known-bug
-
-// We almost certainly want this to pass, but
-// it's particularly difficult currently, because we need a way of specifying
-// that `<Self::Base as Functor>::With<T> = Self` without using that when we have
-// a `U`. See `https://github.com/rust-lang/rust/pull/92728` for a (hacky)
-// solution. This might be better to just wait for Chalk.
-
-pub trait Functor {
- type With<T>;
-
- fn fmap<T, U>(this: Self::With<T>) -> Self::With<U>;
-}
-
-pub trait FunctorExt<T>: Sized {
- type Base: Functor<With<T> = Self>;
-
- fn fmap<U>(self) {
- let arg: <Self::Base as Functor>::With<T>;
- let ret: <Self::Base as Functor>::With<U>;
-
- arg = self;
- ret = <Self::Base as Functor>::fmap(arg);
- //~^ type annotations needed
- }
-}
-
-fn main() {}
diff --git a/src/test/ui/generic-associated-types/bugs/issue-91762.stderr b/src/test/ui/generic-associated-types/bugs/issue-91762.stderr
deleted file mode 100644
index 1272c8b8a..000000000
--- a/src/test/ui/generic-associated-types/bugs/issue-91762.stderr
+++ /dev/null
@@ -1,14 +0,0 @@
-error[E0282]: type annotations needed
- --> $DIR/issue-91762.rs:24:15
- |
-LL | ret = <Self::Base as Functor>::fmap(arg);
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type of the type parameter `T` declared on the associated function `fmap`
- |
-help: consider specifying the generic arguments
- |
-LL | ret = <Self::Base as Functor>::fmap::<T, U>(arg);
- | ++++++++
-
-error: aborting due to previous error
-
-For more information about this error, try `rustc --explain E0282`.