about summary refs log tree commit diff
path: root/compiler/rustc_hir_analysis/src/outlives/implicit_infer.rs
diff options
context:
space:
mode:
authorKyle Matsuda <kyle.yoshio.matsuda@gmail.com>2023-05-26 12:14:48 -0600
committerKyle Matsuda <kyle.yoshio.matsuda@gmail.com>2023-05-28 10:44:53 -0600
commitc40e9cc7ca3001cfd6098d1c2f6bf4e009920358 (patch)
treec02b84d53e56e8f4dcfeab317dc4e07985b4dfaf /compiler/rustc_hir_analysis/src/outlives/implicit_infer.rs
parent03534ac8b70de1134ce7e91b172cd629048a6c8b (diff)
downloadrust-c40e9cc7ca3001cfd6098d1c2f6bf4e009920358.tar.gz
rust-c40e9cc7ca3001cfd6098d1c2f6bf4e009920358.zip
Make EarlyBinder's inner value private; and fix all of the resulting errors
Diffstat (limited to 'compiler/rustc_hir_analysis/src/outlives/implicit_infer.rs')
-rw-r--r--compiler/rustc_hir_analysis/src/outlives/implicit_infer.rs11
1 files changed, 7 insertions, 4 deletions
diff --git a/compiler/rustc_hir_analysis/src/outlives/implicit_infer.rs b/compiler/rustc_hir_analysis/src/outlives/implicit_infer.rs
index e386b1b7120..ced994aa636 100644
--- a/compiler/rustc_hir_analysis/src/outlives/implicit_infer.rs
+++ b/compiler/rustc_hir_analysis/src/outlives/implicit_infer.rs
@@ -68,8 +68,9 @@ pub(super) fn infer_predicates(
             // Therefore mark `predicates_added` as true and which will ensure
             // we walk the crates again and re-calculate predicates for all
             // items.
-            let item_predicates_len: usize =
-                global_inferred_outlives.get(&item_did.to_def_id()).map_or(0, |p| p.0.len());
+            let item_predicates_len: usize = global_inferred_outlives
+                .get(&item_did.to_def_id())
+                .map_or(0, |p| p.as_ref().skip_binder().len());
             if item_required_predicates.len() > item_predicates_len {
                 predicates_added = true;
                 global_inferred_outlives
@@ -137,7 +138,9 @@ fn insert_required_predicates_to_be_wf<'tcx>(
                 // 'a` holds for `Foo`.
                 debug!("Adt");
                 if let Some(unsubstituted_predicates) = global_inferred_outlives.get(&def.did()) {
-                    for (unsubstituted_predicate, &span) in &unsubstituted_predicates.0 {
+                    for (unsubstituted_predicate, &span) in
+                        unsubstituted_predicates.as_ref().skip_binder()
+                    {
                         // `unsubstituted_predicate` is `U: 'b` in the
                         // example above. So apply the substitution to
                         // get `T: 'a` (or `predicate`):
@@ -251,7 +254,7 @@ fn check_explicit_predicates<'tcx>(
     );
     let explicit_predicates = explicit_map.explicit_predicates_of(tcx, def_id);
 
-    for (outlives_predicate, &span) in &explicit_predicates.0 {
+    for (outlives_predicate, &span) in explicit_predicates.as_ref().skip_binder() {
         debug!("outlives_predicate = {:?}", &outlives_predicate);
 
         // Careful: If we are inferring the effects of a `dyn Trait<..>`