about summary refs log tree commit diff
path: root/tests/ui/traits/inductive-overflow/lifetime.rs
diff options
context:
space:
mode:
authorAli MJ Al-Nasrawy <alimjalnasrawy@gmail.com>2023-03-05 12:05:04 +0300
committerAli MJ Al-Nasrawy <alimjalnasrawy@gmail.com>2023-03-05 12:49:01 +0300
commiteea560494c121bf93f725eb174fc03d34b0e96f1 (patch)
tree63a9c6653a843a998756f03f384302ce3488a6c9 /tests/ui/traits/inductive-overflow/lifetime.rs
parent79dca7b7ba7ac1c9292fadff197204169ae43630 (diff)
downloadrust-eea560494c121bf93f725eb174fc03d34b0e96f1.tar.gz
rust-eea560494c121bf93f725eb174fc03d34b0e96f1.zip
oops! new unsoundness
Bless tests and show an introduced unsoundness related to
exits<'a> { forall<'b> { 'a == 'b } }.
We now resolve the var ?a in U0 to the placeholder !b in U1.
Diffstat (limited to 'tests/ui/traits/inductive-overflow/lifetime.rs')
-rw-r--r--tests/ui/traits/inductive-overflow/lifetime.rs6
1 files changed, 2 insertions, 4 deletions
diff --git a/tests/ui/traits/inductive-overflow/lifetime.rs b/tests/ui/traits/inductive-overflow/lifetime.rs
index bf536d21cf9..2f3c90dcece 100644
--- a/tests/ui/traits/inductive-overflow/lifetime.rs
+++ b/tests/ui/traits/inductive-overflow/lifetime.rs
@@ -15,9 +15,9 @@ impl<'a> Y for C<'a> {
 struct C<'a>(&'a ());
 struct X<T: Y>(T::P);
 
-impl<T: NotAuto> NotAuto for Box<T> {} //~ NOTE: required
+impl<T: NotAuto> NotAuto for Box<T> {}
+impl<T: Y> NotAuto for X<T> where T::P: NotAuto {} //~ NOTE: required
 //~^ NOTE unsatisfied trait bound introduced here
-impl<T: Y> NotAuto for X<T> where T::P: NotAuto {}
 impl<'a> NotAuto for C<'a> {}
 
 fn is_send<S: NotAuto>() {}
@@ -28,6 +28,4 @@ fn main() {
     // Should only be a few notes.
     is_send::<X<C<'static>>>();
     //~^ ERROR overflow evaluating
-    //~| 3 redundant requirements hidden
-    //~| required for
 }