Skip to content

Commit 865a168

Browse files
AliasRelationDirection -> RelationDirection
1 parent a2999da commit 865a168

File tree

15 files changed

+47
-49
lines changed

15 files changed

+47
-49
lines changed

compiler/rustc_borrowck/src/type_check/relate_tys.rs

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -572,28 +572,22 @@ impl<'bccx, 'tcx> ObligationEmittingRelation<'tcx> for NllTypeRelating<'_, 'bccx
572572
);
573573
}
574574

575-
fn alias_relate_direction(&self) -> ty::AliasRelationDirection {
575+
fn alias_relate_direction(&self) -> ty::RelationDirection {
576576
unreachable!("manually overridden to handle ty::Variance::Contravariant ambient variance")
577577
}
578578

579579
fn register_type_relate_obligation(&mut self, a: Ty<'tcx>, b: Ty<'tcx>) {
580580
self.register_predicates([ty::Binder::dummy(match self.ambient_variance {
581-
ty::Variance::Covariant => ty::PredicateKind::AliasRelate(
582-
a.into(),
583-
b.into(),
584-
ty::AliasRelationDirection::Subtype,
585-
),
581+
ty::Variance::Covariant => {
582+
ty::PredicateKind::AliasRelate(a.into(), b.into(), ty::RelationDirection::Subtype)
583+
}
586584
// a :> b is b <: a
587-
ty::Variance::Contravariant => ty::PredicateKind::AliasRelate(
588-
b.into(),
589-
a.into(),
590-
ty::AliasRelationDirection::Subtype,
591-
),
592-
ty::Variance::Invariant => ty::PredicateKind::AliasRelate(
593-
a.into(),
594-
b.into(),
595-
ty::AliasRelationDirection::Equate,
596-
),
585+
ty::Variance::Contravariant => {
586+
ty::PredicateKind::AliasRelate(b.into(), a.into(), ty::RelationDirection::Subtype)
587+
}
588+
ty::Variance::Invariant => {
589+
ty::PredicateKind::AliasRelate(a.into(), b.into(), ty::RelationDirection::Equate)
590+
}
597591
ty::Variance::Bivariant => {
598592
unreachable!("cannot defer an alias-relate goal with Bivariant variance (yet?)")
599593
}

compiler/rustc_infer/src/infer/relate/combine.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ use rustc_middle::ty::error::{ExpectedFound, TypeError};
3434
use rustc_middle::ty::relate::{RelateResult, TypeRelation};
3535
use rustc_middle::ty::{self, InferConst, ToPredicate, Ty, TyCtxt, TypeVisitableExt};
3636
use rustc_middle::ty::{IntType, UintType};
37+
use rustc_middle::ty::{RelationDirection, TyVar};
3738
use rustc_span::Span;
3839

3940
#[derive(Clone)]
@@ -246,7 +247,7 @@ impl<'tcx> InferCtxt<'tcx> {
246247
ty::PredicateKind::AliasRelate(
247248
a.into(),
248249
b.into(),
249-
ty::AliasRelationDirection::Equate,
250+
ty::RelationDirection::Equate,
250251
)
251252
} else {
252253
ty::PredicateKind::ConstEquate(a, b)
@@ -344,7 +345,7 @@ pub trait ObligationEmittingRelation<'tcx>: TypeRelation<'tcx> {
344345
fn register_predicates(&mut self, obligations: impl IntoIterator<Item: ToPredicate<'tcx>>);
345346

346347
/// Register an obligation that both types must be related to each other according to
347-
/// the [`ty::AliasRelationDirection`] given by [`ObligationEmittingRelation::alias_relate_direction`]
348+
/// the [`ty::RelationDirection`] given by [`ObligationEmittingRelation::alias_relate_direction`]
348349
fn register_type_relate_obligation(&mut self, a: Ty<'tcx>, b: Ty<'tcx>) {
349350
self.register_predicates([ty::Binder::dummy(ty::PredicateKind::AliasRelate(
350351
a.into(),
@@ -355,7 +356,7 @@ pub trait ObligationEmittingRelation<'tcx>: TypeRelation<'tcx> {
355356

356357
/// Relation direction emitted for `AliasRelate` predicates, corresponding to the direction
357358
/// of the relation.
358-
fn alias_relate_direction(&self) -> ty::AliasRelationDirection;
359+
fn alias_relate_direction(&self) -> ty::RelationDirection;
359360
}
360361

361362
fn int_unification_error<'tcx>(

compiler/rustc_infer/src/infer/relate/equate.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ impl<'tcx> ObligationEmittingRelation<'tcx> for Equate<'_, '_, 'tcx> {
192192
self.fields.register_obligations(obligations);
193193
}
194194

195-
fn alias_relate_direction(&self) -> ty::AliasRelationDirection {
196-
ty::AliasRelationDirection::Equate
195+
fn alias_relate_direction(&self) -> ty::RelationDirection {
196+
ty::RelationDirection::Equate
197197
}
198198
}

compiler/rustc_infer/src/infer/relate/generalize.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use rustc_middle::ty::error::TypeError;
1010
use rustc_middle::ty::relate::{self, Relate, RelateResult, TypeRelation};
1111
use rustc_middle::ty::visit::MaxUniverse;
1212
use rustc_middle::ty::{self, Ty, TyCtxt};
13-
use rustc_middle::ty::{AliasRelationDirection, InferConst, Term, TypeVisitable, TypeVisitableExt};
13+
use rustc_middle::ty::{InferConst, RelationDirection, Term, TypeVisitable, TypeVisitableExt};
1414
use rustc_span::Span;
1515

1616
impl<'tcx> InferCtxt<'tcx> {
@@ -75,13 +75,13 @@ impl<'tcx> InferCtxt<'tcx> {
7575
if self.next_trait_solver() {
7676
let (lhs, rhs, direction) = match ambient_variance {
7777
ty::Variance::Invariant => {
78-
(generalized_ty.into(), source_ty.into(), AliasRelationDirection::Equate)
78+
(generalized_ty.into(), source_ty.into(), RelationDirection::Equate)
7979
}
8080
ty::Variance::Covariant => {
81-
(generalized_ty.into(), source_ty.into(), AliasRelationDirection::Subtype)
81+
(generalized_ty.into(), source_ty.into(), RelationDirection::Subtype)
8282
}
8383
ty::Variance::Contravariant => {
84-
(source_ty.into(), generalized_ty.into(), AliasRelationDirection::Subtype)
84+
(source_ty.into(), generalized_ty.into(), RelationDirection::Subtype)
8585
}
8686
ty::Variance::Bivariant => unreachable!("bivariant generalization"),
8787
};

compiler/rustc_infer/src/infer/relate/glb.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,8 +151,8 @@ impl<'tcx> ObligationEmittingRelation<'tcx> for Glb<'_, '_, 'tcx> {
151151
self.fields.register_obligations(obligations);
152152
}
153153

154-
fn alias_relate_direction(&self) -> ty::AliasRelationDirection {
154+
fn alias_relate_direction(&self) -> ty::RelationDirection {
155155
// FIXME(deferred_projection_equality): This isn't right, I think?
156-
ty::AliasRelationDirection::Equate
156+
ty::RelationDirection::Equate
157157
}
158158
}

compiler/rustc_infer/src/infer/relate/lub.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,8 +151,8 @@ impl<'tcx> ObligationEmittingRelation<'tcx> for Lub<'_, '_, 'tcx> {
151151
self.fields.register_obligations(obligations)
152152
}
153153

154-
fn alias_relate_direction(&self) -> ty::AliasRelationDirection {
154+
fn alias_relate_direction(&self) -> ty::RelationDirection {
155155
// FIXME(deferred_projection_equality): This isn't right, I think?
156-
ty::AliasRelationDirection::Equate
156+
ty::RelationDirection::Equate
157157
}
158158
}

compiler/rustc_infer/src/infer/relate/sub.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ impl<'tcx> ObligationEmittingRelation<'tcx> for Sub<'_, '_, 'tcx> {
216216
self.fields.register_obligations(obligations);
217217
}
218218

219-
fn alias_relate_direction(&self) -> ty::AliasRelationDirection {
220-
ty::AliasRelationDirection::Subtype
219+
fn alias_relate_direction(&self) -> ty::RelationDirection {
220+
ty::RelationDirection::Subtype
221221
}
222222
}

compiler/rustc_smir/src/rustc_smir/convert/ty.rs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -655,14 +655,17 @@ impl<'tcx> Stable<'tcx> for ty::CoercePredicate<'tcx> {
655655
}
656656
}
657657

658-
impl<'tcx> Stable<'tcx> for ty::AliasRelationDirection {
658+
impl<'tcx> Stable<'tcx> for ty::RelationDirection {
659659
type T = stable_mir::ty::AliasRelationDirection;
660660

661661
fn stable(&self, _: &mut Tables<'_>) -> Self::T {
662-
use rustc_middle::ty::AliasRelationDirection::*;
663662
match self {
664-
Equate => stable_mir::ty::AliasRelationDirection::Equate,
665-
Subtype => stable_mir::ty::AliasRelationDirection::Subtype,
663+
rustc_middle::ty::RelationDirection::Equate => {
664+
stable_mir::ty::AliasRelationDirection::Equate
665+
}
666+
rustc_middle::ty::RelationDirection::Subtype => {
667+
stable_mir::ty::AliasRelationDirection::Subtype
668+
}
666669
}
667670
}
668671
}

compiler/rustc_trait_selection/src/solve/alias_relate.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ impl<'tcx> EvalCtxt<'_, 'tcx> {
2929
#[instrument(level = "debug", skip(self), ret)]
3030
pub(super) fn compute_alias_relate_goal(
3131
&mut self,
32-
goal: Goal<'tcx, (ty::Term<'tcx>, ty::Term<'tcx>, ty::AliasRelationDirection)>,
32+
goal: Goal<'tcx, (ty::Term<'tcx>, ty::Term<'tcx>, ty::RelationDirection)>,
3333
) -> QueryResult<'tcx> {
3434
let tcx = self.tcx();
3535
let Goal { param_env, predicate: (lhs, rhs, direction) } = goal;
@@ -43,8 +43,8 @@ impl<'tcx> EvalCtxt<'_, 'tcx> {
4343
};
4444

4545
let variance = match direction {
46-
ty::AliasRelationDirection::Equate => ty::Variance::Invariant,
47-
ty::AliasRelationDirection::Subtype => ty::Variance::Covariant,
46+
ty::RelationDirection::Equate => ty::Variance::Invariant,
47+
ty::RelationDirection::Subtype => ty::Variance::Covariant,
4848
};
4949

5050
match (lhs.to_alias_ty(tcx), rhs.to_alias_ty(tcx)) {

compiler/rustc_trait_selection/src/solve/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ use rustc_middle::traits::solve::{
2121
CanonicalResponse, Certainty, ExternalConstraintsData, Goal, GoalSource, IsNormalizesToHack,
2222
QueryResult, Response,
2323
};
24-
use rustc_middle::ty::{self, AliasRelationDirection, Ty, TyCtxt, UniverseIndex};
24+
use rustc_middle::ty::{self, RelationDirection, Ty, TyCtxt, UniverseIndex};
2525
use rustc_middle::ty::{
2626
CoercePredicate, RegionOutlivesPredicate, SubtypePredicate, TypeOutlivesPredicate,
2727
};
@@ -280,7 +280,7 @@ impl<'tcx> EvalCtxt<'_, 'tcx> {
280280
ty::PredicateKind::AliasRelate(
281281
ty.into(),
282282
normalized_ty.into(),
283-
AliasRelationDirection::Equate,
283+
RelationDirection::Equate,
284284
),
285285
);
286286
self.add_goal(GoalSource::Misc, alias_relate_goal);

0 commit comments

Comments
 (0)