Skip to content

Commit 4096712

Browse files
authored
Unrolled build for rust-lang#136425
Rollup merge of rust-lang#136425 - nnethercote:mv-rustc_middle-infer, r=lcnr Move `rustc_middle::infer::unify_key` `rustc_infer` is a much better place for it. r? `@lcnr`
2 parents 4a43094 + 000f8c4 commit 4096712

File tree

7 files changed

+14
-18
lines changed

7 files changed

+14
-18
lines changed

compiler/rustc_infer/src/infer/mod.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ use rustc_macros::extension;
2626
pub use rustc_macros::{TypeFoldable, TypeVisitable};
2727
use rustc_middle::bug;
2828
use rustc_middle::infer::canonical::{CanonicalQueryInput, CanonicalVarValues};
29-
use rustc_middle::infer::unify_key::{ConstVariableOrigin, ConstVariableValue, ConstVidKey};
3029
use rustc_middle::mir::ConstraintCategory;
3130
use rustc_middle::traits::select;
3231
pub use rustc_middle::ty::IntVarValue;
@@ -46,6 +45,7 @@ use tracing::{debug, instrument};
4645
use type_variable::TypeVariableOrigin;
4746

4847
use crate::infer::region_constraints::UndoLog;
48+
use crate::infer::unify_key::{ConstVariableOrigin, ConstVariableValue, ConstVidKey};
4949
use crate::traits::{
5050
self, ObligationCause, ObligationInspector, PredicateObligations, TraitEngine,
5151
};
@@ -64,6 +64,7 @@ pub mod relate;
6464
pub mod resolve;
6565
pub(crate) mod snapshot;
6666
mod type_variable;
67+
mod unify_key;
6768

6869
/// `InferOk<'tcx, ()>` is used a lot. It may seem like a useless wrapper
6970
/// around `PredicateObligations<'tcx>`, but it has one important property:

compiler/rustc_infer/src/infer/region_constraints/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ use rustc_data_structures::undo_log::UndoLogs;
88
use rustc_data_structures::unify as ut;
99
use rustc_index::IndexVec;
1010
use rustc_macros::{TypeFoldable, TypeVisitable};
11-
use rustc_middle::infer::unify_key::{RegionVariableValue, RegionVidKey};
1211
use rustc_middle::ty::{self, ReBound, ReStatic, ReVar, Region, RegionVid, Ty, TyCtxt};
1312
use rustc_middle::{bug, span_bug};
1413
use tracing::{debug, instrument};
@@ -17,6 +16,7 @@ use self::CombineMapType::*;
1716
use self::UndoLog::*;
1817
use super::{MiscVariable, RegionVariableOrigin, Rollback, SubregionOrigin};
1918
use crate::infer::snapshot::undo_log::{InferCtxtUndoLogs, Snapshot};
19+
use crate::infer::unify_key::{RegionVariableValue, RegionVidKey};
2020

2121
mod leak_check;
2222

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ use rustc_data_structures::sso::SsoHashMap;
44
use rustc_data_structures::stack::ensure_sufficient_stack;
55
use rustc_hir::def_id::DefId;
66
use rustc_middle::bug;
7-
use rustc_middle::infer::unify_key::ConstVariableValue;
87
use rustc_middle::ty::error::TypeError;
98
use rustc_middle::ty::visit::MaxUniverse;
109
use rustc_middle::ty::{
@@ -18,6 +17,7 @@ use super::{
1817
PredicateEmittingRelation, Relate, RelateResult, StructurallyRelateAliases, TypeRelation,
1918
};
2019
use crate::infer::type_variable::TypeVariableValue;
20+
use crate::infer::unify_key::ConstVariableValue;
2121
use crate::infer::{InferCtxt, RegionVariableOrigin, relate};
2222

2323
impl<'tcx> InferCtxt<'tcx> {

compiler/rustc_infer/src/infer/snapshot/fudge.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
use std::ops::Range;
22

33
use rustc_data_structures::{snapshot_vec as sv, unify as ut};
4-
use rustc_middle::infer::unify_key::{ConstVariableValue, ConstVidKey};
54
use rustc_middle::ty::fold::{TypeFoldable, TypeFolder, TypeSuperFoldable};
65
use rustc_middle::ty::{self, ConstVid, FloatVid, IntVid, RegionVid, Ty, TyCtxt, TyVid};
76
use rustc_type_ir::visit::TypeVisitableExt;
@@ -10,6 +9,7 @@ use ut::UnifyKey;
109

1110
use super::VariableLengths;
1211
use crate::infer::type_variable::TypeVariableOrigin;
12+
use crate::infer::unify_key::{ConstVariableValue, ConstVidKey};
1313
use crate::infer::{ConstVariableOrigin, InferCtxt, RegionVariableOrigin, UnificationTable};
1414

1515
fn vars_since_snapshot<'tcx, T>(

compiler/rustc_infer/src/infer/snapshot/undo_log.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ use std::marker::PhantomData;
22

33
use rustc_data_structures::undo_log::{Rollback, UndoLogs};
44
use rustc_data_structures::{snapshot_vec as sv, unify as ut};
5-
use rustc_middle::infer::unify_key::{ConstVidKey, RegionVidKey};
65
use rustc_middle::ty::{self, OpaqueHiddenType, OpaqueTypeKey};
76
use tracing::debug;
87

8+
use crate::infer::unify_key::{ConstVidKey, RegionVidKey};
99
use crate::infer::{InferCtxtInner, region_constraints, type_variable};
1010
use crate::traits;
1111

compiler/rustc_middle/src/infer/unify_key.rs compiler/rustc_infer/src/infer/unify_key.rs

+8-12
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,18 @@ use std::cmp;
22
use std::marker::PhantomData;
33

44
use rustc_data_structures::unify::{NoError, UnifyKey, UnifyValue};
5+
use rustc_middle::{bug, ty};
56
use rustc_span::Span;
67
use rustc_span::def_id::DefId;
78

8-
use crate::ty::{self, Ty, TyCtxt};
9-
10-
pub trait ToType {
11-
fn to_type<'tcx>(&self, tcx: TyCtxt<'tcx>) -> Ty<'tcx>;
12-
}
13-
149
#[derive(Copy, Clone, Debug)]
15-
pub enum RegionVariableValue<'tcx> {
10+
pub(crate) enum RegionVariableValue<'tcx> {
1611
Known { value: ty::Region<'tcx> },
1712
Unknown { universe: ty::UniverseIndex },
1813
}
1914

2015
#[derive(PartialEq, Copy, Clone, Debug)]
21-
pub struct RegionVidKey<'tcx> {
16+
pub(crate) struct RegionVidKey<'tcx> {
2217
pub vid: ty::RegionVid,
2318
pub phantom: PhantomData<RegionVariableValue<'tcx>>,
2419
}
@@ -44,7 +39,8 @@ impl<'tcx> UnifyKey for RegionVidKey<'tcx> {
4439
}
4540
}
4641

47-
pub struct RegionUnificationError;
42+
pub(crate) struct RegionUnificationError;
43+
4844
impl<'tcx> UnifyValue for RegionVariableValue<'tcx> {
4945
type Error = RegionUnificationError;
5046

@@ -100,15 +96,15 @@ pub struct ConstVariableOrigin {
10096
}
10197

10298
#[derive(Copy, Clone, Debug)]
103-
pub enum ConstVariableValue<'tcx> {
99+
pub(crate) enum ConstVariableValue<'tcx> {
104100
Known { value: ty::Const<'tcx> },
105101
Unknown { origin: ConstVariableOrigin, universe: ty::UniverseIndex },
106102
}
107103

108104
impl<'tcx> ConstVariableValue<'tcx> {
109105
/// If this value is known, returns the const it is known to be.
110106
/// Otherwise, `None`.
111-
pub fn known(&self) -> Option<ty::Const<'tcx>> {
107+
pub(crate) fn known(&self) -> Option<ty::Const<'tcx>> {
112108
match *self {
113109
ConstVariableValue::Unknown { .. } => None,
114110
ConstVariableValue::Known { value } => Some(value),
@@ -117,7 +113,7 @@ impl<'tcx> ConstVariableValue<'tcx> {
117113
}
118114

119115
#[derive(PartialEq, Copy, Clone, Debug)]
120-
pub struct ConstVidKey<'tcx> {
116+
pub(crate) struct ConstVidKey<'tcx> {
121117
pub vid: ty::ConstVid,
122118
pub phantom: PhantomData<ty::Const<'tcx>>,
123119
}
-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
11
pub mod canonical;
2-
pub mod unify_key;

0 commit comments

Comments
 (0)