Skip to content

Commit ba55a45

Browse files
committed
Alias folding/visiting traits instead of re-export
1 parent 62846d7 commit ba55a45

File tree

77 files changed

+201
-185
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+201
-185
lines changed

compiler/rustc_borrowck/src/region_infer/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ use rustc_middle::mir::{
1717
};
1818
use rustc_middle::traits::ObligationCause;
1919
use rustc_middle::traits::ObligationCauseCode;
20-
use rustc_middle::ty::{self, RegionVid, Ty, TyCtxt, TypeFoldable, TypeVisitable};
20+
use rustc_middle::ty::{self, RegionVid, Ty, TyCtxt, TypeFoldable};
2121
use rustc_span::Span;
2222

2323
use crate::{

compiler/rustc_codegen_cranelift/src/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ mod prelude {
8686
pub(crate) use rustc_middle::ty::layout::{self, LayoutOf, TyAndLayout};
8787
pub(crate) use rustc_middle::ty::{
8888
self, FloatTy, Instance, InstanceDef, IntTy, ParamEnv, Ty, TyCtxt, TypeAndMut,
89-
TypeFoldable, TypeVisitable, UintTy,
89+
TypeFoldable, UintTy,
9090
};
9191
pub(crate) use rustc_target::abi::{Abi, Scalar, Size, VariantIdx};
9292

compiler/rustc_codegen_ssa/src/mir/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use crate::traits::*;
33
use rustc_middle::mir;
44
use rustc_middle::mir::interpret::ErrorHandled;
55
use rustc_middle::ty::layout::{FnAbiOf, HasTyCtxt, TyAndLayout};
6-
use rustc_middle::ty::{self, Instance, Ty, TypeFoldable, TypeVisitable};
6+
use rustc_middle::ty::{self, Instance, Ty, TypeFoldable};
77
use rustc_target::abi::call::{FnAbi, PassMode};
88

99
use std::iter;

compiler/rustc_const_eval/src/interpret/util.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use rustc_middle::mir::interpret::InterpResult;
2-
use rustc_middle::ty::{self, Ty, TyCtxt, TypeSuperVisitable, TypeVisitable, TypeVisitor};
2+
use rustc_middle::ty::{self, ir::TypeVisitor, Ty, TyCtxt, TypeSuperVisitable, TypeVisitable};
33
use std::ops::ControlFlow;
44

55
/// Checks whether a type contains generic parameters which require substitution.

compiler/rustc_hir_analysis/src/check/check.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ pub(super) fn check_opaque_for_inheriting_lifetimes(
261261
selftys: Vec<(Span, Option<String>)>,
262262
}
263263

264-
impl<'tcx> ty::visit::TypeVisitor<'tcx> for ProhibitOpaqueVisitor<'tcx> {
264+
impl<'tcx> ty::visit::ir::TypeVisitor<'tcx> for ProhibitOpaqueVisitor<'tcx> {
265265
type BreakTy = Ty<'tcx>;
266266

267267
fn visit_ty(&mut self, t: Ty<'tcx>) -> ControlFlow<Self::BreakTy> {
@@ -1447,7 +1447,7 @@ fn opaque_type_cycle_error(
14471447
opaques: Vec<DefId>,
14481448
closures: Vec<DefId>,
14491449
}
1450-
impl<'tcx> ty::visit::TypeVisitor<'tcx> for OpaqueTypeCollector {
1450+
impl<'tcx> ty::visit::ir::TypeVisitor<'tcx> for OpaqueTypeCollector {
14511451
fn visit_ty(&mut self, t: Ty<'tcx>) -> ControlFlow<Self::BreakTy> {
14521452
match *t.kind() {
14531453
ty::Alias(ty::Opaque, ty::AliasTy { def_id: def, .. }) => {

compiler/rustc_hir_analysis/src/check/compare_impl_item.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ use rustc_infer::traits::util;
1616
use rustc_middle::ty::error::{ExpectedFound, TypeError};
1717
use rustc_middle::ty::util::ExplicitSelf;
1818
use rustc_middle::ty::{
19-
self, DefIdTree, InternalSubsts, Ty, TypeFoldable, TypeFolder, TypeSuperFoldable, TypeVisitable,
19+
self, ir::TypeFolder, DefIdTree, InternalSubsts, Ty, TypeFoldable, TypeSuperFoldable,
2020
};
2121
use rustc_middle::ty::{GenericParamDefKind, ToPredicate, TyCtxt};
2222
use rustc_span::Span;

compiler/rustc_hir_analysis/src/check/wfcheck.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ use rustc_middle::mir::ConstraintCategory;
1616
use rustc_middle::ty::query::Providers;
1717
use rustc_middle::ty::trait_def::TraitSpecializationKind;
1818
use rustc_middle::ty::{
19-
self, AdtKind, DefIdTree, GenericParamDefKind, Ty, TyCtxt, TypeFoldable, TypeSuperVisitable,
20-
TypeVisitable, TypeVisitor,
19+
self, ir::TypeVisitor, AdtKind, DefIdTree, GenericParamDefKind, Ty, TyCtxt, TypeFoldable,
20+
TypeSuperVisitable,
2121
};
2222
use rustc_middle::ty::{GenericArgKind, InternalSubsts};
2323
use rustc_session::parse::feature_err;
@@ -1435,7 +1435,7 @@ fn check_where_clauses<'tcx>(wfcx: &WfCheckingCtxt<'_, 'tcx>, span: Span, def_id
14351435
struct CountParams {
14361436
params: FxHashSet<u32>,
14371437
}
1438-
impl<'tcx> ty::visit::TypeVisitor<'tcx> for CountParams {
1438+
impl<'tcx> ty::visit::ir::TypeVisitor<'tcx> for CountParams {
14391439
type BreakTy = ();
14401440

14411441
fn visit_ty(&mut self, t: Ty<'tcx>) -> ControlFlow<Self::BreakTy> {

compiler/rustc_hir_analysis/src/coherence/orphan.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use rustc_hir as hir;
88
use rustc_middle::ty::subst::InternalSubsts;
99
use rustc_middle::ty::util::IgnoreRegions;
1010
use rustc_middle::ty::{
11-
self, AliasKind, ImplPolarity, Ty, TyCtxt, TypeSuperVisitable, TypeVisitable, TypeVisitor,
11+
self, ir::TypeVisitor, AliasKind, ImplPolarity, Ty, TyCtxt, TypeSuperVisitable, TypeVisitable,
1212
};
1313
use rustc_session::lint;
1414
use rustc_span::def_id::{DefId, LocalDefId};

compiler/rustc_hir_analysis/src/collect/lifetimes.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ use rustc_hir::{GenericArg, GenericParam, GenericParamKind, HirIdMap, LifetimeNa
1717
use rustc_middle::bug;
1818
use rustc_middle::hir::nested_filter;
1919
use rustc_middle::middle::resolve_lifetime::*;
20-
use rustc_middle::ty::{self, DefIdTree, TyCtxt, TypeSuperVisitable, TypeVisitor};
20+
use rustc_middle::ty::{self, ir::TypeVisitor, DefIdTree, TyCtxt, TypeSuperVisitable};
2121
use rustc_span::def_id::DefId;
2222
use rustc_span::symbol::{sym, Ident};
2323
use rustc_span::Span;

compiler/rustc_hir_analysis/src/collect/type_of.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use rustc_middle::ty::print::with_forced_trimmed_paths;
99
use rustc_middle::ty::subst::InternalSubsts;
1010
use rustc_middle::ty::util::IntTypeExt;
1111
use rustc_middle::ty::{
12-
self, DefIdTree, IsSuggestable, Ty, TyCtxt, TypeFolder, TypeSuperFoldable, TypeVisitable,
12+
self, ir::TypeFolder, DefIdTree, IsSuggestable, Ty, TyCtxt, TypeSuperFoldable, TypeVisitable,
1313
};
1414
use rustc_span::symbol::Ident;
1515
use rustc_span::{Span, DUMMY_SP};

compiler/rustc_hir_analysis/src/constrained_generic_params.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use rustc_data_structures::fx::FxHashSet;
2-
use rustc_middle::ty::visit::{TypeSuperVisitable, TypeVisitable, TypeVisitor};
2+
use rustc_middle::ty::visit::{ir::TypeVisitor, TypeSuperVisitable, TypeVisitable};
33
use rustc_middle::ty::{self, Ty, TyCtxt};
44
use rustc_span::source_map::Span;
55
use std::ops::ControlFlow;

compiler/rustc_hir_analysis/src/hir_wf_check.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use rustc_hir::{ForeignItem, ForeignItemKind};
55
use rustc_infer::infer::TyCtxtInferExt;
66
use rustc_infer::traits::{ObligationCause, WellFormedLoc};
77
use rustc_middle::ty::query::Providers;
8-
use rustc_middle::ty::{self, Region, TyCtxt, TypeFoldable, TypeFolder};
8+
use rustc_middle::ty::{self, ir::TypeFolder, Region, TyCtxt, TypeFoldable};
99
use rustc_span::def_id::LocalDefId;
1010
use rustc_trait_selection::traits;
1111

compiler/rustc_hir_analysis/src/variance/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ fn variance_of_opaque(tcx: TyCtxt<'_>, item_def_id: LocalDefId) -> &[ty::Varianc
9999
}
100100
}
101101

102-
impl<'tcx> ty::TypeVisitor<'tcx> for OpaqueTypeLifetimeCollector<'tcx> {
102+
impl<'tcx> ty::ir::TypeVisitor<'tcx> for OpaqueTypeLifetimeCollector<'tcx> {
103103
#[instrument(level = "trace", skip(self), ret)]
104104
fn visit_region(&mut self, r: ty::Region<'tcx>) -> ControlFlow<Self::BreakTy> {
105105
if let ty::RegionKind::ReEarlyBound(ebr) = r.kind() {

compiler/rustc_hir_typeck/src/closure.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ use rustc_infer::infer::{InferOk, InferResult};
1212
use rustc_macros::{TypeFoldable, TypeVisitable};
1313
use rustc_middle::ty::subst::InternalSubsts;
1414
use rustc_middle::ty::visit::TypeVisitable;
15-
use rustc_middle::ty::{self, Ty, TypeSuperVisitable, TypeVisitor};
15+
use rustc_middle::ty::{self, ir::TypeVisitor, Ty, TypeSuperVisitable};
1616
use rustc_span::def_id::LocalDefId;
1717
use rustc_span::source_map::Span;
1818
use rustc_span::sym;

compiler/rustc_hir_typeck/src/fn_ctxt/adjust_fulfillment_errors.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use rustc_hir as hir;
33
use rustc_hir::def::Res;
44
use rustc_hir::def_id::DefId;
55
use rustc_infer::traits::ObligationCauseCode;
6-
use rustc_middle::ty::{self, DefIdTree, Ty, TypeSuperVisitable, TypeVisitable, TypeVisitor};
6+
use rustc_middle::ty::{self, ir::TypeVisitor, DefIdTree, Ty, TypeSuperVisitable, TypeVisitable};
77
use rustc_span::{self, Span};
88
use rustc_trait_selection::traits;
99

compiler/rustc_hir_typeck/src/mem_categorization.rs

-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@
5151
use rustc_middle::hir::place::*;
5252
use rustc_middle::ty::adjustment;
5353
use rustc_middle::ty::fold::TypeFoldable;
54-
use rustc_middle::ty::visit::TypeVisitable;
5554
use rustc_middle::ty::{self, Ty, TyCtxt};
5655

5756
use rustc_data_structures::fx::FxIndexMap;

compiler/rustc_hir_typeck/src/method/probe.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ use rustc_middle::ty::fast_reject::{simplify_type, TreatParams};
2020
use rustc_middle::ty::AssocItem;
2121
use rustc_middle::ty::GenericParamDefKind;
2222
use rustc_middle::ty::ToPredicate;
23-
use rustc_middle::ty::{self, ParamEnvAnd, Ty, TyCtxt, TypeFoldable, TypeVisitable};
23+
use rustc_middle::ty::{self, ParamEnvAnd, Ty, TyCtxt, TypeFoldable};
2424
use rustc_middle::ty::{InternalSubsts, SubstsRef};
2525
use rustc_session::lint;
2626
use rustc_span::def_id::DefId;

compiler/rustc_hir_typeck/src/op.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use rustc_middle::ty::adjustment::{
1313
};
1414
use rustc_middle::ty::print::with_no_trimmed_paths;
1515
use rustc_middle::ty::{
16-
self, DefIdTree, IsSuggestable, Ty, TyCtxt, TypeFolder, TypeSuperFoldable, TypeVisitable,
16+
self, ir::TypeFolder, DefIdTree, IsSuggestable, Ty, TyCtxt, TypeSuperFoldable, TypeVisitable,
1717
};
1818
use rustc_session::errors::ExprParenthesesNeeded;
1919
use rustc_span::source_map::Spanned;

compiler/rustc_hir_typeck/src/writeback.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ use rustc_infer::infer::InferCtxt;
1313
use rustc_middle::hir::place::Place as HirPlace;
1414
use rustc_middle::mir::FakeReadCause;
1515
use rustc_middle::ty::adjustment::{Adjust, Adjustment, PointerCast};
16-
use rustc_middle::ty::fold::{TypeFoldable, TypeFolder, TypeSuperFoldable};
17-
use rustc_middle::ty::visit::{TypeSuperVisitable, TypeVisitable};
16+
use rustc_middle::ty::fold::{ir::TypeFolder, TypeFoldable, TypeSuperFoldable};
17+
use rustc_middle::ty::visit::TypeSuperVisitable;
1818
use rustc_middle::ty::TypeckResults;
1919
use rustc_middle::ty::{self, ClosureSizeProfileData, Ty, TyCtxt};
2020
use rustc_span::symbol::sym;
@@ -561,7 +561,7 @@ impl<'cx, 'tcx> WritebackCx<'cx, 'tcx> {
561561
struct RecursionChecker {
562562
def_id: LocalDefId,
563563
}
564-
impl<'tcx> ty::TypeVisitor<'tcx> for RecursionChecker {
564+
impl<'tcx> ty::ir::TypeVisitor<'tcx> for RecursionChecker {
565565
type BreakTy = ();
566566
fn visit_ty(&mut self, t: Ty<'tcx>) -> ControlFlow<Self::BreakTy> {
567567
if let ty::Alias(ty::Opaque, ty::AliasTy { def_id, .. }) = *t.kind() {

compiler/rustc_infer/src/infer/canonical/canonicalizer.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use crate::infer::canonical::{
1010
};
1111
use crate::infer::InferCtxt;
1212
use rustc_middle::ty::flags::FlagComputation;
13-
use rustc_middle::ty::fold::{TypeFoldable, TypeFolder, TypeSuperFoldable};
13+
use rustc_middle::ty::fold::{ir::TypeFolder, TypeFoldable, TypeSuperFoldable};
1414
use rustc_middle::ty::subst::GenericArg;
1515
use rustc_middle::ty::{self, BoundVar, InferConst, List, Ty, TyCtxt, TypeFlags};
1616
use std::sync::atomic::Ordering;

compiler/rustc_infer/src/infer/combine.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ use rustc_middle::ty::error::{ExpectedFound, TypeError};
3838
use rustc_middle::ty::relate::{self, Relate, RelateResult, TypeRelation};
3939
use rustc_middle::ty::subst::SubstsRef;
4040
use rustc_middle::ty::{
41-
self, AliasKind, FallibleTypeFolder, InferConst, ToPredicate, Ty, TyCtxt, TypeFoldable,
42-
TypeSuperFoldable, TypeVisitable,
41+
self, ir::FallibleTypeFolder, AliasKind, InferConst, ToPredicate, Ty, TyCtxt, TypeFoldable,
42+
TypeSuperFoldable,
4343
};
4444
use rustc_middle::ty::{IntType, UintType};
4545
use rustc_span::{Span, DUMMY_SP};

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -1491,7 +1491,7 @@ impl<'tcx> TypeErrCtxt<'_, 'tcx> {
14911491
}
14921492
}
14931493

1494-
impl<'tcx> ty::visit::TypeVisitor<'tcx> for OpaqueTypesVisitor<'tcx> {
1494+
impl<'tcx> ty::visit::ir::TypeVisitor<'tcx> for OpaqueTypesVisitor<'tcx> {
14951495
fn visit_ty(&mut self, t: Ty<'tcx>) -> ControlFlow<Self::BreakTy> {
14961496
if let Some((kind, def_id)) = TyCategory::from_ty(self.tcx, t) {
14971497
let span = self.tcx.def_span(def_id);

compiler/rustc_infer/src/infer/error_reporting/nice_region_error/static_impl_trait.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ use rustc_hir::{
1717
TyKind,
1818
};
1919
use rustc_middle::ty::{
20-
self, AssocItemContainer, StaticLifetimeVisitor, Ty, TyCtxt, TypeSuperVisitable, TypeVisitor,
20+
self, ir::TypeVisitor, AssocItemContainer, StaticLifetimeVisitor, Ty, TyCtxt,
21+
TypeSuperVisitable,
2122
};
2223
use rustc_span::symbol::Ident;
2324
use rustc_span::Span;

compiler/rustc_infer/src/infer/error_reporting/nice_region_error/trait_impl_difference.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ impl<'a, 'tcx> NiceRegionError<'a, 'tcx> {
7575
}
7676
}
7777

78-
impl<'tcx> ty::visit::TypeVisitor<'tcx> for HighlightBuilder<'tcx> {
78+
impl<'tcx> ty::visit::ir::TypeVisitor<'tcx> for HighlightBuilder<'tcx> {
7979
fn visit_region(&mut self, r: ty::Region<'tcx>) -> ControlFlow<Self::BreakTy> {
8080
if !r.has_name() && self.counter <= 3 {
8181
self.highlight.highlighting_region(r, self.counter);

compiler/rustc_infer/src/infer/freshen.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333
use super::InferCtxt;
3434
use rustc_data_structures::fx::FxHashMap;
3535
use rustc_middle::infer::unify_key::ToType;
36-
use rustc_middle::ty::fold::TypeFolder;
37-
use rustc_middle::ty::{self, Ty, TyCtxt, TypeFoldable, TypeSuperFoldable, TypeVisitable};
36+
use rustc_middle::ty::fold::ir::TypeFolder;
37+
use rustc_middle::ty::{self, Ty, TyCtxt, TypeFoldable, TypeSuperFoldable};
3838
use std::collections::hash_map::Entry;
3939

4040
pub struct TypeFreshener<'a, 'tcx> {

compiler/rustc_infer/src/infer/fudge.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use rustc_middle::ty::fold::{TypeFoldable, TypeFolder, TypeSuperFoldable};
1+
use rustc_middle::ty::fold::{ir::TypeFolder, TypeFoldable, TypeSuperFoldable};
22
use rustc_middle::ty::{self, ConstVid, FloatVid, IntVid, RegionVid, Ty, TyCtxt, TyVid};
33

44
use super::type_variable::TypeVariableOrigin;

compiler/rustc_infer/src/infer/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ use rustc_middle::mir::ConstraintCategory;
2626
use rustc_middle::traits::select;
2727
use rustc_middle::ty::error::{ExpectedFound, TypeError};
2828
use rustc_middle::ty::fold::BoundVarReplacerDelegate;
29-
use rustc_middle::ty::fold::{TypeFoldable, TypeFolder, TypeSuperFoldable};
29+
use rustc_middle::ty::fold::{ir::TypeFolder, TypeFoldable, TypeSuperFoldable};
3030
use rustc_middle::ty::relate::RelateResult;
3131
use rustc_middle::ty::subst::{GenericArg, GenericArgKind, InternalSubsts, SubstsRef};
3232
use rustc_middle::ty::visit::TypeVisitable;

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ use rustc_data_structures::fx::FxHashMap;
2929
use rustc_middle::traits::ObligationCause;
3030
use rustc_middle::ty::error::TypeError;
3131
use rustc_middle::ty::relate::{self, Relate, RelateResult, TypeRelation};
32-
use rustc_middle::ty::visit::{TypeSuperVisitable, TypeVisitable, TypeVisitor};
32+
use rustc_middle::ty::visit::{ir::TypeVisitor, TypeSuperVisitable, TypeVisitable};
3333
use rustc_middle::ty::{self, InferConst, Ty, TyCtxt};
3434
use rustc_span::Span;
3535
use std::fmt::Debug;

compiler/rustc_infer/src/infer/opaque_types.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ use rustc_middle::ty::error::{ExpectedFound, TypeError};
1212
use rustc_middle::ty::fold::BottomUpFolder;
1313
use rustc_middle::ty::GenericArgKind;
1414
use rustc_middle::ty::{
15-
self, OpaqueHiddenType, OpaqueTypeKey, Ty, TyCtxt, TypeFoldable, TypeSuperVisitable,
16-
TypeVisitable, TypeVisitor,
15+
self, ir::TypeVisitor, OpaqueHiddenType, OpaqueTypeKey, Ty, TyCtxt, TypeFoldable,
16+
TypeSuperVisitable, TypeVisitable,
1717
};
1818
use rustc_span::Span;
1919

compiler/rustc_infer/src/infer/resolve.rs

+6-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
use super::type_variable::{TypeVariableOrigin, TypeVariableOriginKind};
22
use super::{FixupError, FixupResult, InferCtxt, Span};
33
use rustc_middle::infer::unify_key::{ConstVariableOrigin, ConstVariableOriginKind};
4-
use rustc_middle::ty::fold::{FallibleTypeFolder, TypeFolder, TypeSuperFoldable};
5-
use rustc_middle::ty::visit::{TypeSuperVisitable, TypeVisitor};
6-
use rustc_middle::ty::{self, Const, InferConst, Ty, TyCtxt, TypeFoldable, TypeVisitable};
4+
use rustc_middle::ty::fold::{
5+
ir::{FallibleTypeFolder, TypeFolder},
6+
TypeSuperFoldable,
7+
};
8+
use rustc_middle::ty::visit::{ir::TypeVisitor, TypeSuperVisitable};
9+
use rustc_middle::ty::{self, Const, InferConst, Ty, TyCtxt, TypeFoldable};
710

811
use std::ops::ControlFlow;
912

compiler/rustc_infer/src/traits/structural_impls.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
use crate::traits;
22
use crate::traits::project::Normalized;
3-
use rustc_middle::ty;
43
use rustc_middle::ty::fold::{FallibleTypeFolder, TypeFoldable};
54
use rustc_middle::ty::visit::{TypeVisitable, TypeVisitor};
5+
use rustc_middle::ty::{self, ir};
66

77
use std::fmt;
88
use std::ops::ControlFlow;
@@ -61,7 +61,7 @@ impl<'tcx> fmt::Debug for traits::MismatchedProjectionTypes<'tcx> {
6161
///////////////////////////////////////////////////////////////////////////
6262
// TypeFoldable implementations.
6363

64-
impl<'tcx, O: TypeFoldable<'tcx>> TypeFoldable<'tcx> for traits::Obligation<'tcx, O> {
64+
impl<'tcx, O: TypeFoldable<'tcx>> ir::TypeFoldable<'tcx> for traits::Obligation<'tcx, O> {
6565
fn try_fold_with<F: FallibleTypeFolder<'tcx>>(self, folder: &mut F) -> Result<Self, F::Error> {
6666
Ok(traits::Obligation {
6767
cause: self.cause,
@@ -72,7 +72,7 @@ impl<'tcx, O: TypeFoldable<'tcx>> TypeFoldable<'tcx> for traits::Obligation<'tcx
7272
}
7373
}
7474

75-
impl<'tcx, O: TypeVisitable<'tcx>> TypeVisitable<'tcx> for traits::Obligation<'tcx, O> {
75+
impl<'tcx, O: TypeVisitable<'tcx>> ir::TypeVisitable<'tcx> for traits::Obligation<'tcx, O> {
7676
fn visit_with<V: TypeVisitor<'tcx>>(&self, visitor: &mut V) -> ControlFlow<V::BreakTy> {
7777
self.predicate.visit_with(visitor)?;
7878
self.param_env.visit_with(visitor)

compiler/rustc_lint/src/types.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1144,7 +1144,7 @@ impl<'a, 'tcx> ImproperCTypesVisitor<'a, 'tcx> {
11441144

11451145
fn check_for_opaque_ty(&mut self, sp: Span, ty: Ty<'tcx>) -> bool {
11461146
struct ProhibitOpaqueTypes;
1147-
impl<'tcx> ty::visit::TypeVisitor<'tcx> for ProhibitOpaqueTypes {
1147+
impl<'tcx> ty::visit::ir::TypeVisitor<'tcx> for ProhibitOpaqueTypes {
11481148
type BreakTy = Ty<'tcx>;
11491149

11501150
fn visit_ty(&mut self, ty: Ty<'tcx>) -> ControlFlow<Self::BreakTy> {

compiler/rustc_macros/src/type_foldable.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ pub fn type_foldable_derive(mut s: synstructure::Structure<'_>) -> proc_macro2::
1717
vi.construct(|_, index| {
1818
let bind = &bindings[index];
1919
quote! {
20-
::rustc_middle::ty::fold::TypeFoldable::try_fold_with(#bind, __folder)?
20+
::rustc_middle::ty::fold::ir::TypeFoldable::try_fold_with(#bind, __folder)?
2121
}
2222
})
2323
});
2424

2525
s.bound_impl(
26-
quote!(::rustc_middle::ty::fold::TypeFoldable<'tcx>),
26+
quote!(::rustc_middle::ty::fold::ir::TypeFoldable<'tcx>),
2727
quote! {
2828
fn try_fold_with<__F: ::rustc_middle::ty::fold::FallibleTypeFolder<'tcx>>(
2929
self,

compiler/rustc_macros/src/type_visitable.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ pub fn type_visitable_derive(mut s: synstructure::Structure<'_>) -> proc_macro2:
1313
s.add_bounds(synstructure::AddBounds::Generics);
1414
let body_visit = s.each(|bind| {
1515
quote! {
16-
::rustc_middle::ty::visit::TypeVisitable::visit_with(#bind, __visitor)?;
16+
::rustc_middle::ty::visit::ir::TypeVisitable::visit_with(#bind, __visitor)?;
1717
}
1818
});
1919
s.bind_with(|_| synstructure::BindStyle::Move);
2020

2121
s.bound_impl(
22-
quote!(::rustc_middle::ty::visit::TypeVisitable<'tcx>),
22+
quote!(::rustc_middle::ty::visit::ir::TypeVisitable<'tcx>),
2323
quote! {
2424
fn visit_with<__V: ::rustc_middle::ty::visit::TypeVisitor<'tcx>>(
2525
&self,

compiler/rustc_middle/src/infer/canonical.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ pub struct Canonical<'tcx, V> {
4242

4343
pub type CanonicalVarInfos<'tcx> = &'tcx List<CanonicalVarInfo<'tcx>>;
4444

45-
impl<'tcx> ty::TypeFoldable<'tcx> for CanonicalVarInfos<'tcx> {
45+
impl<'tcx> ty::ir::TypeFoldable<'tcx> for CanonicalVarInfos<'tcx> {
4646
fn try_fold_with<F: ty::FallibleTypeFolder<'tcx>>(
4747
self,
4848
folder: &mut F,

compiler/rustc_middle/src/lib.rs

+1
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@
6060
#![feature(yeet_expr)]
6161
#![feature(result_option_inspect)]
6262
#![feature(const_option)]
63+
#![feature(trait_alias)]
6364
#![recursion_limit = "512"]
6465
#![allow(rustc::potential_query_instability)]
6566

0 commit comments

Comments
 (0)