Get rid of elaborate_trait_ref{s} too

This commit is contained in:
Michael Goulet 2023-04-06 23:24:03 +00:00
parent 758bedc104
commit 2cd0729d63
4 changed files with 14 additions and 23 deletions

View file

@ -58,7 +58,7 @@ pub use self::specialize::{specialization_graph, translate_substs, OverlapError}
pub use self::structural_match::{
search_for_adt_const_param_violation, search_for_structural_match_violation,
};
pub use self::util::{elaborate, elaborate_trait_ref, elaborate_trait_refs};
pub use self::util::elaborate;
pub use self::util::{expand_trait_aliases, TraitAliasExpander};
pub use self::util::{get_vtable_index_of_object_method, impl_item_is_final, upcast_choices};
pub use self::util::{

View file

@ -8,7 +8,7 @@
//! - not reference the erased type `Self` except for in this receiver;
//! - not have generic type parameters.
use super::{elaborate, elaborate_trait_ref};
use super::elaborate;
use crate::infer::TyCtxtInferExt;
use crate::traits::query::evaluate_obligation::InferCtxtExt;
@ -666,7 +666,8 @@ fn object_ty_for_trait<'tcx>(
});
debug!(?trait_predicate);
let mut elaborated_predicates: Vec<_> = elaborate_trait_ref(tcx, trait_ref)
let pred: ty::Predicate<'tcx> = trait_ref.to_predicate(tcx);
let mut elaborated_predicates: Vec<_> = elaborate(tcx, [pred])
.filter_map(|pred| {
debug!(?pred);
let pred = pred.to_opt_poly_projection_pred()?;