Use FxHashSet instead of Vec for well formed tys
This commit is contained in:
@@ -2,6 +2,7 @@ use crate::traits::query::evaluate_obligation::InferCtxtExt as _;
|
||||
use crate::traits::query::outlives_bounds::InferCtxtExt as _;
|
||||
use crate::traits::{self, TraitEngine, TraitEngineExt};
|
||||
|
||||
use rustc_data_structures::stable_set::FxHashSet;
|
||||
use rustc_hir as hir;
|
||||
use rustc_hir::def_id::DefId;
|
||||
use rustc_hir::lang_items::LangItem;
|
||||
@@ -184,7 +185,7 @@ pub trait OutlivesEnvironmentExt<'tcx> {
|
||||
fn add_implied_bounds(
|
||||
&mut self,
|
||||
infcx: &InferCtxt<'a, 'tcx>,
|
||||
fn_sig_tys: &[Ty<'tcx>],
|
||||
fn_sig_tys: FxHashSet<Ty<'tcx>>,
|
||||
body_id: hir::HirId,
|
||||
span: Span,
|
||||
);
|
||||
@@ -210,13 +211,13 @@ impl<'tcx> OutlivesEnvironmentExt<'tcx> for OutlivesEnvironment<'tcx> {
|
||||
fn add_implied_bounds(
|
||||
&mut self,
|
||||
infcx: &InferCtxt<'a, 'tcx>,
|
||||
fn_sig_tys: &[Ty<'tcx>],
|
||||
fn_sig_tys: FxHashSet<Ty<'tcx>>,
|
||||
body_id: hir::HirId,
|
||||
span: Span,
|
||||
) {
|
||||
debug!("add_implied_bounds()");
|
||||
|
||||
for &ty in fn_sig_tys {
|
||||
for ty in fn_sig_tys {
|
||||
let ty = infcx.resolve_vars_if_possible(ty);
|
||||
debug!("add_implied_bounds: ty = {}", ty);
|
||||
let implied_bounds = infcx.implied_outlives_bounds(self.param_env, body_id, ty, span);
|
||||
|
||||
Reference in New Issue
Block a user