11use crate :: constrained_generic_params:: { identify_constrained_generic_params, Parameter } ;
22use hir:: def:: DefKind ;
33use rustc_ast as ast;
4- use rustc_data_structures:: fx:: { FxHashMap , FxHashSet } ;
4+ use rustc_data_structures:: fx:: { FxHashMap , FxHashSet , FxIndexSet } ;
55use rustc_errors:: { pluralize, struct_span_err, Applicability , DiagnosticBuilder , ErrorGuaranteed } ;
66use rustc_hir as hir;
77use rustc_hir:: def_id:: { DefId , LocalDefId } ;
@@ -412,7 +412,7 @@ fn check_gat_where_clauses(tcx: TyCtxt<'_>, associated_items: &[hir::TraitItemRe
412412 . iter ( )
413413 . copied ( )
414414 . collect :: < Vec < _ > > ( ) ,
415- & FxHashSet :: default ( ) ,
415+ & FxIndexSet :: default ( ) ,
416416 gat_def_id. def_id ,
417417 gat_generics,
418418 )
@@ -462,10 +462,10 @@ fn check_gat_where_clauses(tcx: TyCtxt<'_>, associated_items: &[hir::TraitItemRe
462462 . into_iter ( )
463463 . filter ( |clause| match clause. kind ( ) . skip_binder ( ) {
464464 ty:: PredicateKind :: RegionOutlives ( ty:: OutlivesPredicate ( a, b) ) => {
465- !region_known_to_outlive ( tcx, gat_hir, param_env, & FxHashSet :: default ( ) , a, b)
465+ !region_known_to_outlive ( tcx, gat_hir, param_env, & FxIndexSet :: default ( ) , a, b)
466466 }
467467 ty:: PredicateKind :: TypeOutlives ( ty:: OutlivesPredicate ( a, b) ) => {
468- !ty_known_to_outlive ( tcx, gat_hir, param_env, & FxHashSet :: default ( ) , a, b)
468+ !ty_known_to_outlive ( tcx, gat_hir, param_env, & FxIndexSet :: default ( ) , a, b)
469469 }
470470 _ => bug ! ( "Unexpected PredicateKind" ) ,
471471 } )
@@ -547,7 +547,7 @@ fn gather_gat_bounds<'tcx, T: TypeFoldable<'tcx>>(
547547 param_env : ty:: ParamEnv < ' tcx > ,
548548 item_hir : hir:: HirId ,
549549 to_check : T ,
550- wf_tys : & FxHashSet < Ty < ' tcx > > ,
550+ wf_tys : & FxIndexSet < Ty < ' tcx > > ,
551551 gat_def_id : LocalDefId ,
552552 gat_generics : & ' tcx ty:: Generics ,
553553) -> Option < FxHashSet < ty:: Predicate < ' tcx > > > {
@@ -654,7 +654,7 @@ fn ty_known_to_outlive<'tcx>(
654654 tcx : TyCtxt < ' tcx > ,
655655 id : hir:: HirId ,
656656 param_env : ty:: ParamEnv < ' tcx > ,
657- wf_tys : & FxHashSet < Ty < ' tcx > > ,
657+ wf_tys : & FxIndexSet < Ty < ' tcx > > ,
658658 ty : Ty < ' tcx > ,
659659 region : ty:: Region < ' tcx > ,
660660) -> bool {
@@ -671,7 +671,7 @@ fn region_known_to_outlive<'tcx>(
671671 tcx : TyCtxt < ' tcx > ,
672672 id : hir:: HirId ,
673673 param_env : ty:: ParamEnv < ' tcx > ,
674- wf_tys : & FxHashSet < Ty < ' tcx > > ,
674+ wf_tys : & FxIndexSet < Ty < ' tcx > > ,
675675 region_a : ty:: Region < ' tcx > ,
676676 region_b : ty:: Region < ' tcx > ,
677677) -> bool {
@@ -695,7 +695,7 @@ fn resolve_regions_with_wf_tys<'tcx>(
695695 tcx : TyCtxt < ' tcx > ,
696696 id : hir:: HirId ,
697697 param_env : ty:: ParamEnv < ' tcx > ,
698- wf_tys : & FxHashSet < Ty < ' tcx > > ,
698+ wf_tys : & FxIndexSet < Ty < ' tcx > > ,
699699 add_constraints : impl for < ' a > FnOnce ( & ' a InferCtxt < ' tcx > , & ' a RegionBoundPairs < ' tcx > ) ,
700700) -> bool {
701701 // Unfortunately, we have to use a new `InferCtxt` each call, because
0 commit comments