Skip to content

Commit a2d7ffc

Browse files
Move DefiningAnchor
1 parent 4d80b80 commit a2d7ffc

File tree

13 files changed

+34
-27
lines changed

13 files changed

+34
-27
lines changed

compiler/rustc_borrowck/src/consumers.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@
44
55
use rustc_hir::def_id::LocalDefId;
66
use rustc_index::{IndexSlice, IndexVec};
7-
use rustc_infer::infer::{DefiningAnchor, TyCtxtInferExt};
7+
use rustc_infer::infer::TyCtxtInferExt;
88
use rustc_middle::mir::{Body, Promoted};
9+
use rustc_middle::traits::DefiningAnchor;
910
use rustc_middle::ty::TyCtxt;
1011
use std::rc::Rc;
1112

compiler/rustc_borrowck/src/lib.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ use rustc_hir::def_id::LocalDefId;
2626
use rustc_index::bit_set::ChunkedBitSet;
2727
use rustc_index::{IndexSlice, IndexVec};
2828
use rustc_infer::infer::{
29-
DefiningAnchor, InferCtxt, NllRegionVariableOrigin, RegionVariableOrigin, TyCtxtInferExt,
29+
InferCtxt, NllRegionVariableOrigin, RegionVariableOrigin, TyCtxtInferExt,
3030
};
3131
use rustc_middle::mir::{
3232
traversal, Body, ClearCrossCrate, Local, Location, Mutability, NonDivergingIntrinsic, Operand,
@@ -36,6 +36,7 @@ use rustc_middle::mir::{AggregateKind, BasicBlock, BorrowCheckResult, BorrowKind
3636
use rustc_middle::mir::{InlineAsmOperand, Terminator, TerminatorKind};
3737
use rustc_middle::mir::{ProjectionElem, Promoted, Rvalue, Statement, StatementKind};
3838
use rustc_middle::query::Providers;
39+
use rustc_middle::traits::DefiningAnchor;
3940
use rustc_middle::ty::{self, CapturedPlace, ParamEnv, RegionVid, TyCtxt};
4041
use rustc_session::lint::builtin::UNUSED_MUT;
4142
use rustc_span::{Span, Symbol};

compiler/rustc_borrowck/src/region_infer/opaque_types.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@ use rustc_data_structures::fx::{FxIndexMap, FxIndexSet};
22
use rustc_errors::ErrorGuaranteed;
33
use rustc_hir::def_id::LocalDefId;
44
use rustc_hir::OpaqueTyOrigin;
5+
use rustc_infer::infer::InferCtxt;
56
use rustc_infer::infer::TyCtxtInferExt as _;
6-
use rustc_infer::infer::{DefiningAnchor, InferCtxt};
77
use rustc_infer::traits::{Obligation, ObligationCause};
8+
use rustc_middle::traits::DefiningAnchor;
89
use rustc_middle::ty::subst::{GenericArgKind, InternalSubsts};
910
use rustc_middle::ty::visit::TypeVisitableExt;
1011
use rustc_middle::ty::{self, OpaqueHiddenType, OpaqueTypeKey, Ty, TyCtxt, TypeFoldable};

compiler/rustc_const_eval/src/util/compare_types.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
//! FIXME: Move this to a more general place. The utility of this extends to
44
//! other areas of the compiler as well.
55
6-
use rustc_infer::infer::{DefiningAnchor, TyCtxtInferExt};
7-
use rustc_infer::traits::ObligationCause;
6+
use rustc_infer::infer::TyCtxtInferExt;
7+
use rustc_middle::traits::{DefiningAnchor, ObligationCause};
88
use rustc_middle::ty::{ParamEnv, Ty, TyCtxt};
99
use rustc_trait_selection::traits::ObligationCtxt;
1010

compiler/rustc_hir_analysis/src/check/check.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@ use rustc_hir::intravisit::Visitor;
1313
use rustc_hir::{ItemKind, Node, PathSegment};
1414
use rustc_infer::infer::opaque_types::ConstrainOpaqueTypeRegionVisitor;
1515
use rustc_infer::infer::outlives::env::OutlivesEnvironment;
16-
use rustc_infer::infer::{DefiningAnchor, RegionVariableOrigin, TyCtxtInferExt};
16+
use rustc_infer::infer::{RegionVariableOrigin, TyCtxtInferExt};
1717
use rustc_infer::traits::{Obligation, TraitEngineExt as _};
1818
use rustc_lint_defs::builtin::REPR_TRANSPARENT_EXTERNAL_PRIVATE_FIELDS;
1919
use rustc_middle::hir::nested_filter;
2020
use rustc_middle::middle::stability::EvalResult;
21+
use rustc_middle::traits::DefiningAnchor;
2122
use rustc_middle::ty::layout::{LayoutError, MAX_SIMD_LANES};
2223
use rustc_middle::ty::subst::GenericArgKind;
2324
use rustc_middle::ty::util::{Discr, IntTypeExt};

compiler/rustc_hir_typeck/src/inherited.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ use rustc_data_structures::fx::{FxHashMap, FxHashSet};
44
use rustc_hir as hir;
55
use rustc_hir::def_id::LocalDefId;
66
use rustc_hir::HirIdMap;
7-
use rustc_infer::infer::{DefiningAnchor, InferCtxt, InferOk, TyCtxtInferExt};
7+
use rustc_infer::infer::{InferCtxt, InferOk, TyCtxtInferExt};
8+
use rustc_middle::traits::DefiningAnchor;
89
use rustc_middle::ty::visit::TypeVisitableExt;
910
use rustc_middle::ty::{self, Ty, TyCtxt};
1011
use rustc_span::def_id::LocalDefIdMap;

compiler/rustc_infer/src/infer/mod.rs

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ use rustc_middle::infer::unify_key::{ConstVarValue, ConstVariableValue};
2424
use rustc_middle::infer::unify_key::{ConstVariableOrigin, ConstVariableOriginKind, ToType};
2525
use rustc_middle::mir::interpret::{ErrorHandled, EvalToValTreeResult};
2626
use rustc_middle::mir::ConstraintCategory;
27-
use rustc_middle::traits::select;
27+
use rustc_middle::traits::{select, DefiningAnchor};
2828
use rustc_middle::ty::error::{ExpectedFound, TypeError};
2929
use rustc_middle::ty::fold::BoundVarReplacerDelegate;
3030
use rustc_middle::ty::fold::{TypeFoldable, TypeFolder, TypeSuperFoldable};
@@ -231,17 +231,6 @@ impl<'tcx> InferCtxtInner<'tcx> {
231231
}
232232
}
233233

234-
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
235-
pub enum DefiningAnchor {
236-
/// `DefId` of the item.
237-
Bind(LocalDefId),
238-
/// When opaque types are not resolved, we `Bubble` up, meaning
239-
/// return the opaque/hidden type pair from query, for caller of query to handle it.
240-
Bubble,
241-
/// Used to catch type mismatch errors when handling opaque types.
242-
Error,
243-
}
244-
245234
pub struct InferCtxt<'tcx> {
246235
pub tcx: TyCtxt<'tcx>,
247236

compiler/rustc_infer/src/infer/opaque_types.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
use super::type_variable::{TypeVariableOrigin, TypeVariableOriginKind};
22
use super::{DefineOpaqueTypes, InferResult};
33
use crate::errors::OpaqueHiddenTypeDiag;
4-
use crate::infer::{DefiningAnchor, InferCtxt, InferOk};
4+
use crate::infer::{InferCtxt, InferOk};
55
use crate::traits::{self, PredicateObligation};
66
use hir::def_id::{DefId, LocalDefId};
77
use hir::OpaqueTyOrigin;
88
use rustc_data_structures::fx::FxIndexMap;
99
use rustc_data_structures::sync::Lrc;
1010
use rustc_hir as hir;
11-
use rustc_middle::traits::ObligationCause;
11+
use rustc_middle::traits::{DefiningAnchor, ObligationCause};
1212
use rustc_middle::ty::error::{ExpectedFound, TypeError};
1313
use rustc_middle::ty::fold::BottomUpFolder;
1414
use rustc_middle::ty::GenericArgKind;

compiler/rustc_middle/src/traits/mod.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1108,3 +1108,14 @@ pub enum CodegenObligationError {
11081108
Unimplemented,
11091109
FulfillmentError,
11101110
}
1111+
1112+
#[derive(Debug, PartialEq, Eq, Clone, Copy, Hash, TypeFoldable, TypeVisitable)]
1113+
pub enum DefiningAnchor {
1114+
/// `DefId` of the item.
1115+
Bind(LocalDefId),
1116+
/// When opaque types are not resolved, we `Bubble` up, meaning
1117+
/// return the opaque/hidden type pair from query, for caller of query to handle it.
1118+
Bubble,
1119+
/// Used to catch type mismatch errors when handling opaque types.
1120+
Error,
1121+
}

compiler/rustc_trait_selection/src/traits/coherence.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,10 @@ use crate::traits::{
1717
use rustc_data_structures::fx::FxIndexSet;
1818
use rustc_errors::Diagnostic;
1919
use rustc_hir::def_id::{DefId, CRATE_DEF_ID, LOCAL_CRATE};
20-
use rustc_infer::infer::{DefineOpaqueTypes, DefiningAnchor, InferCtxt, TyCtxtInferExt};
20+
use rustc_infer::infer::{DefineOpaqueTypes, InferCtxt, TyCtxtInferExt};
2121
use rustc_infer::traits::util;
2222
use rustc_middle::traits::specialization_graph::OverlapMode;
23+
use rustc_middle::traits::DefiningAnchor;
2324
use rustc_middle::ty::fast_reject::{DeepRejectCtxt, TreatParams};
2425
use rustc_middle::ty::visit::{TypeVisitable, TypeVisitableExt};
2526
use rustc_middle::ty::{self, ImplSubject, Ty, TyCtxt, TypeVisitor};

compiler/rustc_traits/src/codegen.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
// seems likely that they should eventually be merged into more
44
// general routines.
55

6-
use rustc_infer::infer::{DefiningAnchor, TyCtxtInferExt};
6+
use rustc_infer::infer::TyCtxtInferExt;
77
use rustc_infer::traits::{FulfillmentErrorCode, TraitEngineExt as _};
8-
use rustc_middle::traits::CodegenObligationError;
8+
use rustc_middle::traits::{CodegenObligationError, DefiningAnchor};
99
use rustc_middle::ty::{self, TyCtxt};
1010
use rustc_trait_selection::traits::error_reporting::TypeErrCtxtExt;
1111
use rustc_trait_selection::traits::{

compiler/rustc_traits/src/evaluate_obligation.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
use rustc_infer::infer::{DefiningAnchor, TyCtxtInferExt};
1+
use rustc_infer::infer::TyCtxtInferExt;
22
use rustc_middle::query::Providers;
3+
use rustc_middle::traits::DefiningAnchor;
34
use rustc_middle::ty::{ParamEnvAnd, TyCtxt};
45
use rustc_span::source_map::DUMMY_SP;
56
use rustc_trait_selection::traits::query::CanonicalPredicateGoal;

compiler/rustc_traits/src/type_op.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
use rustc_hir as hir;
22
use rustc_infer::infer::canonical::{Canonical, QueryResponse};
3-
use rustc_infer::infer::{DefiningAnchor, TyCtxtInferExt};
4-
use rustc_infer::traits::ObligationCauseCode;
3+
use rustc_infer::infer::TyCtxtInferExt;
54
use rustc_middle::query::Providers;
5+
use rustc_middle::traits::{DefiningAnchor, ObligationCauseCode};
66
use rustc_middle::ty::{self, FnSig, Lift, PolyFnSig, Ty, TyCtxt, TypeFoldable};
77
use rustc_middle::ty::{ParamEnvAnd, Predicate};
88
use rustc_middle::ty::{UserSelfTy, UserSubsts, UserType};

0 commit comments

Comments
 (0)