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

+10-16
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

+4-3
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

+2-2
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

+4-4
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

+2-2
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

+2-2
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

+2-2
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

+7-4
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

+3-3
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

+2-2
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);

compiler/rustc_trait_selection/src/solve/normalize.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ impl<'tcx> NormalizationFolder<'_, 'tcx> {
8181
ty::PredicateKind::AliasRelate(
8282
alias_ty.into(),
8383
new_infer_ty.into(),
84-
ty::AliasRelationDirection::Equate,
84+
ty::RelationDirection::Equate,
8585
),
8686
);
8787

compiler/rustc_trait_selection/src/solve/project_goals.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ impl<'tcx> EvalCtxt<'_, 'tcx> {
2929
ty::PredicateKind::AliasRelate(
3030
projection_term,
3131
goal.predicate.term,
32-
ty::AliasRelationDirection::Equate,
32+
ty::RelationDirection::Equate,
3333
),
3434
);
3535
self.add_goal(GoalSource::Misc, goal);

compiler/rustc_trait_selection/src/traits/structural_normalize.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ impl<'tcx> At<'_, 'tcx> {
3434
ty::PredicateKind::AliasRelate(
3535
ty.into(),
3636
new_infer_ty.into(),
37-
ty::AliasRelationDirection::Equate,
37+
ty::RelationDirection::Equate,
3838
),
3939
);
4040

compiler/rustc_type_ir/src/macros.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ TrivialTypeTraversalImpls! {
4949
u64,
5050
String,
5151
crate::DebruijnIndex,
52-
crate::AliasRelationDirection,
52+
crate::RelationDirection,
5353
crate::UniverseIndex,
5454
crate::Mutability,
5555
crate::Movability,

compiler/rustc_type_ir/src/predicate_kind.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ pub enum PredicateKind<I: Interner> {
160160
/// This predicate requires two terms to be equal to eachother.
161161
///
162162
/// Only used for new solver
163-
AliasRelate(I::Term, I::Term, AliasRelationDirection),
163+
AliasRelate(I::Term, I::Term, RelationDirection),
164164
}
165165

166166
impl<I: Interner> TypeFoldable<I> for PredicateKind<I>
@@ -228,16 +228,16 @@ where
228228

229229
#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Copy)]
230230
#[cfg_attr(feature = "nightly", derive(HashStable_NoContext, Encodable, Decodable))]
231-
pub enum AliasRelationDirection {
231+
pub enum RelationDirection {
232232
Equate,
233233
Subtype,
234234
}
235235

236-
impl std::fmt::Display for AliasRelationDirection {
236+
impl std::fmt::Display for RelationDirection {
237237
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
238238
match self {
239-
AliasRelationDirection::Equate => write!(f, "=="),
240-
AliasRelationDirection::Subtype => write!(f, "<:"),
239+
RelationDirection::Equate => write!(f, "=="),
240+
RelationDirection::Subtype => write!(f, "<:"),
241241
}
242242
}
243243
}

0 commit comments

Comments
 (0)