Auto merge of #103723 - CastilloDel:master, r=jackh726
Remove allow(rustc::potential_query_instability) in rustc_trait_selection Related to https://github.com/rust-lang/rust/issues/84447 This PR needs to be benchmarked to check for regressions.
This commit is contained in:
commit
cc9b259b5e
10 changed files with 37 additions and 30 deletions
|
@ -1,7 +1,7 @@
|
|||
use super::potentially_plural_count;
|
||||
use crate::errors::LifetimesOrBoundsMismatchOnTrait;
|
||||
use hir::def_id::{DefId, LocalDefId};
|
||||
use rustc_data_structures::fx::{FxHashMap, FxHashSet};
|
||||
use rustc_data_structures::fx::{FxHashMap, FxIndexSet};
|
||||
use rustc_errors::{pluralize, struct_span_err, Applicability, DiagnosticId, ErrorGuaranteed};
|
||||
use rustc_hir as hir;
|
||||
use rustc_hir::def::{DefKind, Res};
|
||||
|
@ -256,7 +256,7 @@ fn compare_predicate_entailment<'tcx>(
|
|||
// Compute placeholder form of impl and trait method tys.
|
||||
let tcx = infcx.tcx;
|
||||
|
||||
let mut wf_tys = FxHashSet::default();
|
||||
let mut wf_tys = FxIndexSet::default();
|
||||
|
||||
let impl_sig = infcx.replace_bound_vars_with_fresh_vars(
|
||||
impl_m_span,
|
||||
|
@ -479,7 +479,7 @@ pub fn collect_trait_impl_trait_tys<'tcx>(
|
|||
let trait_sig = ocx.normalize(norm_cause.clone(), param_env, unnormalized_trait_sig);
|
||||
let trait_return_ty = trait_sig.output();
|
||||
|
||||
let wf_tys = FxHashSet::from_iter(
|
||||
let wf_tys = FxIndexSet::from_iter(
|
||||
unnormalized_trait_sig.inputs_and_output.iter().chain(trait_sig.inputs_and_output.iter()),
|
||||
);
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
use crate::constrained_generic_params::{identify_constrained_generic_params, Parameter};
|
||||
use hir::def::DefKind;
|
||||
use rustc_ast as ast;
|
||||
use rustc_data_structures::fx::{FxHashMap, FxHashSet};
|
||||
use rustc_data_structures::fx::{FxHashMap, FxHashSet, FxIndexSet};
|
||||
use rustc_errors::{pluralize, struct_span_err, Applicability, DiagnosticBuilder, ErrorGuaranteed};
|
||||
use rustc_hir as hir;
|
||||
use rustc_hir::def_id::{DefId, LocalDefId};
|
||||
|
@ -412,7 +412,7 @@ fn check_gat_where_clauses(tcx: TyCtxt<'_>, associated_items: &[hir::TraitItemRe
|
|||
.iter()
|
||||
.copied()
|
||||
.collect::<Vec<_>>(),
|
||||
&FxHashSet::default(),
|
||||
&FxIndexSet::default(),
|
||||
gat_def_id.def_id,
|
||||
gat_generics,
|
||||
)
|
||||
|
@ -462,10 +462,10 @@ fn check_gat_where_clauses(tcx: TyCtxt<'_>, associated_items: &[hir::TraitItemRe
|
|||
.into_iter()
|
||||
.filter(|clause| match clause.kind().skip_binder() {
|
||||
ty::PredicateKind::RegionOutlives(ty::OutlivesPredicate(a, b)) => {
|
||||
!region_known_to_outlive(tcx, gat_hir, param_env, &FxHashSet::default(), a, b)
|
||||
!region_known_to_outlive(tcx, gat_hir, param_env, &FxIndexSet::default(), a, b)
|
||||
}
|
||||
ty::PredicateKind::TypeOutlives(ty::OutlivesPredicate(a, b)) => {
|
||||
!ty_known_to_outlive(tcx, gat_hir, param_env, &FxHashSet::default(), a, b)
|
||||
!ty_known_to_outlive(tcx, gat_hir, param_env, &FxIndexSet::default(), a, b)
|
||||
}
|
||||
_ => bug!("Unexpected PredicateKind"),
|
||||
})
|
||||
|
@ -547,7 +547,7 @@ fn gather_gat_bounds<'tcx, T: TypeFoldable<'tcx>>(
|
|||
param_env: ty::ParamEnv<'tcx>,
|
||||
item_hir: hir::HirId,
|
||||
to_check: T,
|
||||
wf_tys: &FxHashSet<Ty<'tcx>>,
|
||||
wf_tys: &FxIndexSet<Ty<'tcx>>,
|
||||
gat_def_id: LocalDefId,
|
||||
gat_generics: &'tcx ty::Generics,
|
||||
) -> Option<FxHashSet<ty::Predicate<'tcx>>> {
|
||||
|
@ -654,7 +654,7 @@ fn ty_known_to_outlive<'tcx>(
|
|||
tcx: TyCtxt<'tcx>,
|
||||
id: hir::HirId,
|
||||
param_env: ty::ParamEnv<'tcx>,
|
||||
wf_tys: &FxHashSet<Ty<'tcx>>,
|
||||
wf_tys: &FxIndexSet<Ty<'tcx>>,
|
||||
ty: Ty<'tcx>,
|
||||
region: ty::Region<'tcx>,
|
||||
) -> bool {
|
||||
|
@ -671,7 +671,7 @@ fn region_known_to_outlive<'tcx>(
|
|||
tcx: TyCtxt<'tcx>,
|
||||
id: hir::HirId,
|
||||
param_env: ty::ParamEnv<'tcx>,
|
||||
wf_tys: &FxHashSet<Ty<'tcx>>,
|
||||
wf_tys: &FxIndexSet<Ty<'tcx>>,
|
||||
region_a: ty::Region<'tcx>,
|
||||
region_b: ty::Region<'tcx>,
|
||||
) -> bool {
|
||||
|
@ -695,7 +695,7 @@ fn resolve_regions_with_wf_tys<'tcx>(
|
|||
tcx: TyCtxt<'tcx>,
|
||||
id: hir::HirId,
|
||||
param_env: ty::ParamEnv<'tcx>,
|
||||
wf_tys: &FxHashSet<Ty<'tcx>>,
|
||||
wf_tys: &FxIndexSet<Ty<'tcx>>,
|
||||
add_constraints: impl for<'a> FnOnce(&'a InferCtxt<'tcx>, &'a RegionBoundPairs<'tcx>),
|
||||
) -> bool {
|
||||
// Unfortunately, we have to use a new `InferCtxt` each call, because
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue