]> git.lizzy.rs Git - rust.git/blobdiff - src/test/ui/traits/issue-83538-tainted-cache-after-cycle.rs
Auto merge of #87284 - Aaron1011:remove-paren-special, r=petrochenkov
[rust.git] / src / test / ui / traits / issue-83538-tainted-cache-after-cycle.rs
index e186570167d76e8b32efee96b4c747cca17923a1..1be0b05fa2b8c25a753cff2b82e3abe610bcf7a7 100644 (file)
@@ -17,8 +17,8 @@ pub struct Second {
     d: Vec<First>,
 }
 
-struct Third<f> {
-    g: Vec<f>,
+struct Third<'a, f> {
+    g: Vec<(f, &'a f)>,
 }
 
 enum Ty {
@@ -38,29 +38,29 @@ struct Sixth {
 }
 
 #[rustc_evaluate_where_clauses]
-fn forward()
+fn forward<'a>()
 where
     Vec<First>: Unpin,
-    Third<Ty>: Unpin,
+    Third<'a, Ty>: Unpin,
 {
 }
 
 #[rustc_evaluate_where_clauses]
-fn reverse()
+fn reverse<'a>()
 where
-    Third<Ty>: Unpin,
+    Third<'a, Ty>: Unpin,
     Vec<First>: Unpin,
 {
 }
 
 fn main() {
-    // Key is that Vec<First> is "ok" and Third<Ty> is "ok modulo regions":
+    // Key is that Vec<First> is "ok" and Third<'_, Ty> is "ok modulo regions":
 
     forward();
     //~^ ERROR evaluate(Binder(TraitPredicate(<std::vec::Vec<First> as std::marker::Unpin>), [])) = Ok(EvaluatedToOk)
-    //~| ERROR evaluate(Binder(TraitPredicate(<Third<Ty> as std::marker::Unpin>), [])) = Ok(EvaluatedToOkModuloRegions)
+    //~| ERROR evaluate(Binder(TraitPredicate(<Third<'_, Ty> as std::marker::Unpin>), [])) = Ok(EvaluatedToOkModuloRegions)
 
     reverse();
     //~^ ERROR evaluate(Binder(TraitPredicate(<std::vec::Vec<First> as std::marker::Unpin>), [])) = Ok(EvaluatedToOk)
-    //~| ERROR evaluate(Binder(TraitPredicate(<Third<Ty> as std::marker::Unpin>), [])) = Ok(EvaluatedToOkModuloRegions)
+    //~| ERROR evaluate(Binder(TraitPredicate(<Third<'_, Ty> as std::marker::Unpin>), [])) = Ok(EvaluatedToOkModuloRegions)
 }