diff options
| author | Jack Huey <31162821+jackh726@users.noreply.github.com> | 2022-09-16 09:01:28 -0400 |
|---|---|---|
| committer | Jack Huey <31162821+jackh726@users.noreply.github.com> | 2022-09-16 09:01:28 -0400 |
| commit | bba514b7b4f3062139d17ce1e4ab26b396c8ad49 (patch) | |
| tree | 9ef5520b53828c4e6e63383023642ffc75ebaeaf /src | |
| parent | df34db9b032b15efd86df3544cc75e6d55dc492e (diff) | |
| download | rust-bba514b7b4f3062139d17ce1e4ab26b396c8ad49.tar.gz rust-bba514b7b4f3062139d17ce1e4ab26b396c8ad49.zip | |
Revert "Use Predicate ConstraintCategory when normalizing"
This reverts commit aae37f87632dd74856d55c0cd45d2c192379c990.
Diffstat (limited to 'src')
9 files changed, 0 insertions, 133 deletions
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 8e6c5348e71..00000000000 --- 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 1ee270398de..00000000000 --- 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 bc9e6c8aea8..00000000000 --- 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 c67e02437cd..00000000000 --- 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/trait-objects.extended.stderr b/src/test/ui/generic-associated-types/trait-objects.extended.stderr index 45b64d2b024..086177cc106 100644 --- a/src/test/ui/generic-associated-types/trait-objects.extended.stderr +++ b/src/test/ui/generic-associated-types/trait-objects.extended.stderr @@ -11,8 +11,6 @@ LL | x.size_hint().0 | | | `x` 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 error: aborting due to previous error diff --git a/src/test/ui/higher-rank-trait-bounds/hrtb-just-for-static.stderr b/src/test/ui/higher-rank-trait-bounds/hrtb-just-for-static.stderr index 31e11e12835..b4312091edb 100644 --- a/src/test/ui/higher-rank-trait-bounds/hrtb-just-for-static.stderr +++ b/src/test/ui/higher-rank-trait-bounds/hrtb-just-for-static.stderr @@ -14,12 +14,6 @@ LL | fn give_some<'a>() { | -- lifetime `'a` defined here LL | want_hrtb::<&'a u32>() | ^^^^^^^^^^^^^^^^^^^^ requires that `'a` must outlive `'static` - | -note: due to current limitations in the borrow checker, this implies a `'static` lifetime - --> $DIR/hrtb-just-for-static.rs:9:15 - | -LL | where T : for<'a> Foo<&'a isize> - | ^^^^^^^^^^^^^^^^^^^^^^ error: implementation of `Foo` is not general enough --> $DIR/hrtb-just-for-static.rs:30:5 diff --git a/src/test/ui/higher-rank-trait-bounds/hrtb-perfect-forwarding.stderr b/src/test/ui/higher-rank-trait-bounds/hrtb-perfect-forwarding.stderr index 5e75a4cc8af..1461e7fd2dd 100644 --- a/src/test/ui/higher-rank-trait-bounds/hrtb-perfect-forwarding.stderr +++ b/src/test/ui/higher-rank-trait-bounds/hrtb-perfect-forwarding.stderr @@ -46,12 +46,6 @@ LL | fn foo_hrtb_bar_not<'b, T>(mut t: T) ... LL | foo_hrtb_bar_not(&mut t); | ^^^^^^^^^^^^^^^^^^^^^^^^ requires that `'b` must outlive `'static` - | -note: due to current limitations in the borrow checker, this implies a `'static` lifetime - --> $DIR/hrtb-perfect-forwarding.rs:37:8 - | -LL | T: for<'a> Foo<&'a isize> + Bar<&'b isize>, - | ^^^^^^^^^^^^^^^^^^^^^^ error: implementation of `Bar` is not general enough --> $DIR/hrtb-perfect-forwarding.rs:43:5 diff --git a/src/test/ui/issues/issue-26217.stderr b/src/test/ui/issues/issue-26217.stderr index 73c772205c3..c7601caacdc 100644 --- a/src/test/ui/issues/issue-26217.stderr +++ b/src/test/ui/issues/issue-26217.stderr @@ -5,12 +5,6 @@ LL | fn bar<'a>() { | -- lifetime `'a` defined here LL | foo::<&'a i32>(); | ^^^^^^^^^^^^^^ requires that `'a` must outlive `'static` - | -note: due to current limitations in the borrow checker, this implies a `'static` lifetime - --> $DIR/issue-26217.rs:1:30 - | -LL | fn foo<T>() where for<'a> T: 'a {} - | ^^ error: aborting due to previous error diff --git a/src/test/ui/nll/type-test-universe.stderr b/src/test/ui/nll/type-test-universe.stderr index 31e17d64b8c..242486c360a 100644 --- a/src/test/ui/nll/type-test-universe.stderr +++ b/src/test/ui/nll/type-test-universe.stderr @@ -11,12 +11,6 @@ LL | fn test2<'a>() { | -- lifetime `'a` defined here LL | outlives_forall::<Value<'a>>(); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ requires that `'a` must outlive `'static` - | -note: due to current limitations in the borrow checker, this implies a `'static` lifetime - --> $DIR/type-test-universe.rs:6:16 - | -LL | for<'u> T: 'u, - | ^^ error: aborting due to 2 previous errors |
