mirror of
https://github.com/rust-lang/rust.git
synced 2026-04-26 13:01:27 +03:00
remove unused parameter from opt_alias_variances
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -501,7 +501,7 @@ fn try_fold_ty(&mut self, ty: Ty<'tcx>) -> Result<Ty<'tcx>, 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)| {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -167,9 +167,8 @@ fn variances_of(self, def_id: DefId) -> Self::VariancesOf {
|
||||
fn opt_alias_variances(
|
||||
self,
|
||||
kind: impl Into<ty::AliasTermKind<'tcx>>,
|
||||
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>> {
|
||||
|
||||
@@ -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<ty::AliasTermKind<'tcx>>,
|
||||
_def_id: DefId,
|
||||
) -> Option<&'tcx [ty::Variance]> {
|
||||
match kind.into() {
|
||||
ty::AliasTermKind::ProjectionTy { def_id } => {
|
||||
|
||||
@@ -197,11 +197,9 @@ fn canonical_param_env_cache_get_or_insert<R>(
|
||||
type VariancesOf: Copy + Debug + SliceLike<Item = ty::Variance>;
|
||||
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<ty::AliasTermKind<Self>>,
|
||||
def_id: Self::DefId,
|
||||
) -> Option<Self::VariancesOf>;
|
||||
|
||||
fn type_of(self, def_id: Self::DefId) -> ty::EarlyBinder<Self, Self::Ty>;
|
||||
|
||||
@@ -226,7 +226,7 @@ pub fn compute_alias_components_recursive<I: Interner>(
|
||||
alias_ty: ty::AliasTy<I>,
|
||||
out: &mut SmallVec<[Component<I>; 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() };
|
||||
|
||||
|
||||
@@ -220,7 +220,7 @@ fn relate<R: TypeRelation<I>>(
|
||||
)))
|
||||
} 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)?
|
||||
|
||||
Reference in New Issue
Block a user