diff --git a/compiler/rustc_borrowck/src/region_infer/opaque_types/member_constraints.rs b/compiler/rustc_borrowck/src/region_infer/opaque_types/member_constraints.rs index d331ef6a6df5..922e01a92a29 100644 --- a/compiler/rustc_borrowck/src/region_infer/opaque_types/member_constraints.rs +++ b/compiler/rustc_borrowck/src/region_infer/opaque_types/member_constraints.rs @@ -177,7 +177,7 @@ fn visit_ty(&mut self, ty: Ty<'tcx>) { | ty::Coroutine(def_id, args) => self.visit_closure_args(def_id, args), ty::Alias(ty::AliasTy { kind, args, .. }) - if let Some(variances) = self.cx().opt_alias_variances(kind, kind.def_id()) => + if let Some(variances) = self.cx().opt_alias_variances(kind) => { // Skip lifetime parameters that are not captured, since they do // not need member constraints registered for them; we'll erase diff --git a/compiler/rustc_borrowck/src/region_infer/opaque_types/mod.rs b/compiler/rustc_borrowck/src/region_infer/opaque_types/mod.rs index 49b3e75b25e3..ce402681fbdf 100644 --- a/compiler/rustc_borrowck/src/region_infer/opaque_types/mod.rs +++ b/compiler/rustc_borrowck/src/region_infer/opaque_types/mod.rs @@ -501,7 +501,7 @@ fn try_fold_ty(&mut self, ty: Ty<'tcx>) -> Result, RegionVid> { } ty::Alias(ty::AliasTy { kind, args, .. }) - if let Some(variances) = tcx.opt_alias_variances(kind, kind.def_id()) => + if let Some(variances) = tcx.opt_alias_variances(kind) => { let args = tcx.mk_args_from_iter(std::iter::zip(variances, args.iter()).map( |(&v, s)| { diff --git a/compiler/rustc_infer/src/infer/outlives/for_liveness.rs b/compiler/rustc_infer/src/infer/outlives/for_liveness.rs index a550621a82d6..a1991039e2a1 100644 --- a/compiler/rustc_infer/src/infer/outlives/for_liveness.rs +++ b/compiler/rustc_infer/src/infer/outlives/for_liveness.rs @@ -95,7 +95,7 @@ fn visit_ty(&mut self, ty: Ty<'tcx>) { } else { // Skip lifetime parameters that are not captured, since they do // not need to be live. - let variances = tcx.opt_alias_variances(kind, kind.def_id()); + let variances = tcx.opt_alias_variances(kind); for (idx, s) in args.iter().enumerate() { if variances.map(|variances| variances[idx]) != Some(ty::Bivariant) { diff --git a/compiler/rustc_infer/src/infer/outlives/obligations.rs b/compiler/rustc_infer/src/infer/outlives/obligations.rs index 28e1b0718245..e98bee3b12cd 100644 --- a/compiler/rustc_infer/src/infer/outlives/obligations.rs +++ b/compiler/rustc_infer/src/infer/outlives/obligations.rs @@ -485,7 +485,7 @@ fn alias_ty_must_outlive( && (alias_ty.has_infer_regions() || matches!(kind, ty::Opaque { .. })) { debug!("no declared bounds"); - let opt_variances = self.tcx.opt_alias_variances(kind, kind.def_id()); + let opt_variances = self.tcx.opt_alias_variances(kind); self.args_must_outlive(alias_ty.args, origin, region, opt_variances); return; } diff --git a/compiler/rustc_middle/src/ty/context/impl_interner.rs b/compiler/rustc_middle/src/ty/context/impl_interner.rs index a195491dd6e5..ccda7aeb910c 100644 --- a/compiler/rustc_middle/src/ty/context/impl_interner.rs +++ b/compiler/rustc_middle/src/ty/context/impl_interner.rs @@ -167,9 +167,8 @@ fn variances_of(self, def_id: DefId) -> Self::VariancesOf { fn opt_alias_variances( self, kind: impl Into>, - def_id: DefId, ) -> Option<&'tcx [ty::Variance]> { - self.opt_alias_variances(kind, def_id) + self.opt_alias_variances(kind) } fn type_of(self, def_id: DefId) -> ty::EarlyBinder<'tcx, Ty<'tcx>> { diff --git a/compiler/rustc_middle/src/ty/util.rs b/compiler/rustc_middle/src/ty/util.rs index 3f57ca994c7e..775d33bdebd3 100644 --- a/compiler/rustc_middle/src/ty/util.rs +++ b/compiler/rustc_middle/src/ty/util.rs @@ -940,7 +940,6 @@ pub fn peel_off_free_alias_tys(self, mut ty: Ty<'tcx>) -> Ty<'tcx> { pub fn opt_alias_variances( self, kind: impl Into>, - _def_id: DefId, ) -> Option<&'tcx [ty::Variance]> { match kind.into() { ty::AliasTermKind::ProjectionTy { def_id } => { diff --git a/compiler/rustc_type_ir/src/interner.rs b/compiler/rustc_type_ir/src/interner.rs index 579157cf741d..f350e5da9654 100644 --- a/compiler/rustc_type_ir/src/interner.rs +++ b/compiler/rustc_type_ir/src/interner.rs @@ -197,11 +197,9 @@ fn canonical_param_env_cache_get_or_insert( type VariancesOf: Copy + Debug + SliceLike; fn variances_of(self, def_id: Self::DefId) -> Self::VariancesOf; - // TODO: remove `def_id` param after `AliasTermKind` contains `def_id` within fn opt_alias_variances( self, kind: impl Into>, - def_id: Self::DefId, ) -> Option; fn type_of(self, def_id: Self::DefId) -> ty::EarlyBinder; diff --git a/compiler/rustc_type_ir/src/outlives.rs b/compiler/rustc_type_ir/src/outlives.rs index 5b4e44dc89eb..56f40d3f7828 100644 --- a/compiler/rustc_type_ir/src/outlives.rs +++ b/compiler/rustc_type_ir/src/outlives.rs @@ -226,7 +226,7 @@ pub fn compute_alias_components_recursive( alias_ty: ty::AliasTy, out: &mut SmallVec<[Component; 4]>, ) { - let opt_variances = cx.opt_alias_variances(alias_ty.kind, alias_ty.kind.def_id()); + let opt_variances = cx.opt_alias_variances(alias_ty.kind); let mut visitor = OutlivesCollector { cx, out, visited: Default::default() }; diff --git a/compiler/rustc_type_ir/src/relate.rs b/compiler/rustc_type_ir/src/relate.rs index 9e5be99279ee..425436dabafb 100644 --- a/compiler/rustc_type_ir/src/relate.rs +++ b/compiler/rustc_type_ir/src/relate.rs @@ -220,7 +220,7 @@ fn relate>( ))) } else { let cx = relation.cx(); - let args = if let Some(variances) = cx.opt_alias_variances(a.kind, a.kind.def_id()) { + let args = if let Some(variances) = cx.opt_alias_variances(a.kind) { relate_args_with_variances(relation, variances, a.args, b.args)? } else { relate_args_invariantly(relation, a.args, b.args)?