]> git.lizzy.rs Git - rust.git/blobdiff - compiler/rustc_trait_selection/src/traits/error_reporting/suggestions.rs
Rollup merge of #104772 - GuillaumeGomez:small-accessibility-improvement, r=notriddle
[rust.git] / compiler / rustc_trait_selection / src / traits / error_reporting / suggestions.rs
index 4b6d8177381a9f21adf15f54fd8f1c1f96f34ac4..bb6d7d0e8dff181a1f0586a2413bdb68b7e42aaf 100644 (file)
@@ -1340,9 +1340,8 @@ fn suggest_change_mut(
                     obligation.param_env,
                     trait_pred_and_suggested_ty,
                 );
-                let suggested_ty_would_satisfy_obligation = self
-                    .evaluate_obligation_no_overflow(&new_obligation)
-                    .must_apply_modulo_regions();
+                let suggested_ty_would_satisfy_obligation =
+                    self.predicate_must_hold_modulo_regions(&new_obligation);
                 if suggested_ty_would_satisfy_obligation {
                     let sp = self
                         .tcx
@@ -2625,7 +2624,7 @@ fn note_obligation_cause_code<T>(
                     }
                 };
 
-                let from_generator = tcx.lang_items().from_generator_fn().unwrap();
+                let from_generator = tcx.require_lang_item(LangItem::FromGenerator, None);
 
                 // Don't print the tuple of capture types
                 'print: {
@@ -2971,8 +2970,7 @@ fn suggest_await_before_try(
                 let self_ty = self.resolve_vars_if_possible(trait_pred.self_ty());
                 let impls_future = self.type_implements_trait(
                     future_trait,
-                    self.tcx.erase_late_bound_regions(self_ty),
-                    ty::List::empty(),
+                    [self.tcx.erase_late_bound_regions(self_ty)],
                     obligation.param_env,
                 );
                 if !impls_future.must_apply_modulo_regions() {
@@ -3070,15 +3068,14 @@ fn suggest_derive(
                     let field_ty = field.ty(self.tcx, substs);
                     let trait_substs = match diagnostic_name {
                         sym::PartialEq | sym::PartialOrd => {
-                            Some(field_ty.into())
+                            Some(field_ty)
                         }
                         _ => None,
                     };
                     let trait_pred = trait_pred.map_bound_ref(|tr| ty::TraitPredicate {
                         trait_ref: self.tcx.mk_trait_ref(
                             trait_pred.def_id(),
-                            field_ty,
-                            trait_substs,
+                            [field_ty].into_iter().chain(trait_substs),
                         ),
                         ..*tr
                     });