diff --git a/Cargo.lock b/Cargo.lock index fdc84e53d121d..e8b21a247b289 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3132,39 +3132,6 @@ dependencies = [ "rustc-workspace-hack", ] -[[package]] -name = "rustc" -version = "0.0.0" -dependencies = [ - "arena", - "backtrace", - "bitflags", - "byteorder", - "jobserver", - "log", - "measureme", - "parking_lot 0.10.0", - "polonius-engine", - "rustc-rayon", - "rustc-rayon-core", - "rustc_apfloat", - "rustc_ast", - "rustc_attr", - "rustc_data_structures", - "rustc_errors", - "rustc_feature", - "rustc_hir", - "rustc_index", - "rustc_macros", - "rustc_query_system", - "rustc_session", - "rustc_span", - "rustc_target", - "scoped-tls", - "serialize", - "smallvec 1.0.0", -] - [[package]] name = "rustc-ap-arena" version = "642.0.0" @@ -3603,7 +3570,6 @@ dependencies = [ "libc", "log", "measureme", - "rustc", "rustc-demangle", "rustc_ast", "rustc_attr", @@ -3616,6 +3582,7 @@ dependencies = [ "rustc_incremental", "rustc_index", "rustc_llvm", + "rustc_middle", "rustc_session", "rustc_span", "rustc_target", @@ -3634,7 +3601,6 @@ dependencies = [ "log", "memmap", "num_cpus", - "rustc", "rustc_apfloat", "rustc_ast", "rustc_attr", @@ -3645,6 +3611,7 @@ dependencies = [ "rustc_incremental", "rustc_index", "rustc_metadata", + "rustc_middle", "rustc_session", "rustc_span", "rustc_symbol_mangling", @@ -3685,7 +3652,6 @@ dependencies = [ "env_logger 0.7.1", "lazy_static 1.4.0", "log", - "rustc", "rustc_ast", "rustc_ast_pretty", "rustc_codegen_ssa", @@ -3698,6 +3664,7 @@ dependencies = [ "rustc_interface", "rustc_lint", "rustc_metadata", + "rustc_middle", "rustc_mir", "rustc_parse", "rustc_plugin_impl", @@ -3797,11 +3764,11 @@ dependencies = [ "graphviz", "log", "rand 0.7.3", - "rustc", "rustc_ast", "rustc_data_structures", "rustc_fs_util", "rustc_hir", + "rustc_middle", "rustc_session", "rustc_span", "serialize", @@ -3821,13 +3788,13 @@ version = "0.0.0" dependencies = [ "graphviz", "log", - "rustc", "rustc_ast", "rustc_data_structures", "rustc_errors", "rustc_hir", "rustc_index", "rustc_macros", + "rustc_middle", "rustc_session", "rustc_span", "rustc_target", @@ -3840,7 +3807,6 @@ version = "0.0.0" dependencies = [ "log", "once_cell", - "rustc", "rustc-rayon", "rustc_ast", "rustc_ast_lowering", @@ -3857,6 +3823,7 @@ dependencies = [ "rustc_infer", "rustc_lint", "rustc_metadata", + "rustc_middle", "rustc_mir", "rustc_mir_build", "rustc_parse", @@ -3890,7 +3857,6 @@ name = "rustc_lint" version = "0.0.0" dependencies = [ "log", - "rustc", "rustc_ast", "rustc_ast_pretty", "rustc_attr", @@ -3900,6 +3866,7 @@ dependencies = [ "rustc_hir", "rustc_index", "rustc_infer", + "rustc_middle", "rustc_session", "rustc_span", "rustc_target", @@ -3933,7 +3900,6 @@ dependencies = [ "flate2", "log", "memmap", - "rustc", "rustc_ast", "rustc_attr", "rustc_data_structures", @@ -3942,6 +3908,7 @@ dependencies = [ "rustc_hir", "rustc_hir_pretty", "rustc_index", + "rustc_middle", "rustc_session", "rustc_span", "rustc_target", @@ -3951,6 +3918,39 @@ dependencies = [ "winapi 0.3.8", ] +[[package]] +name = "rustc_middle" +version = "0.0.0" +dependencies = [ + "arena", + "backtrace", + "bitflags", + "byteorder", + "jobserver", + "log", + "measureme", + "parking_lot 0.10.0", + "polonius-engine", + "rustc-rayon", + "rustc-rayon-core", + "rustc_apfloat", + "rustc_ast", + "rustc_attr", + "rustc_data_structures", + "rustc_errors", + "rustc_feature", + "rustc_hir", + "rustc_index", + "rustc_macros", + "rustc_query_system", + "rustc_session", + "rustc_span", + "rustc_target", + "scoped-tls", + "serialize", + "smallvec 1.0.0", +] + [[package]] name = "rustc_mir" version = "0.0.0" @@ -3961,7 +3961,6 @@ dependencies = [ "log", "log_settings", "polonius-engine", - "rustc", "rustc_apfloat", "rustc_ast", "rustc_ast_pretty", @@ -3973,6 +3972,7 @@ dependencies = [ "rustc_infer", "rustc_lexer", "rustc_macros", + "rustc_middle", "rustc_session", "rustc_span", "rustc_target", @@ -3987,7 +3987,6 @@ version = "0.0.0" dependencies = [ "arena", "log", - "rustc", "rustc_apfloat", "rustc_ast", "rustc_attr", @@ -3997,6 +3996,7 @@ dependencies = [ "rustc_index", "rustc_infer", "rustc_macros", + "rustc_middle", "rustc_session", "rustc_span", "rustc_target", @@ -4028,7 +4028,6 @@ name = "rustc_passes" version = "0.0.0" dependencies = [ "log", - "rustc", "rustc_ast", "rustc_attr", "rustc_data_structures", @@ -4037,6 +4036,7 @@ dependencies = [ "rustc_hir", "rustc_index", "rustc_infer", + "rustc_middle", "rustc_session", "rustc_span", "rustc_target", @@ -4047,12 +4047,12 @@ dependencies = [ name = "rustc_plugin_impl" version = "0.0.0" dependencies = [ - "rustc", "rustc_ast", "rustc_errors", "rustc_hir", "rustc_lint", "rustc_metadata", + "rustc_middle", "rustc_session", "rustc_span", ] @@ -4062,12 +4062,12 @@ name = "rustc_privacy" version = "0.0.0" dependencies = [ "log", - "rustc", "rustc_ast", "rustc_attr", "rustc_data_structures", "rustc_errors", "rustc_hir", + "rustc_middle", "rustc_session", "rustc_span", "rustc_typeck", @@ -4096,7 +4096,6 @@ dependencies = [ "arena", "bitflags", "log", - "rustc", "rustc_ast", "rustc_ast_lowering", "rustc_ast_pretty", @@ -4107,6 +4106,7 @@ dependencies = [ "rustc_feature", "rustc_hir", "rustc_metadata", + "rustc_middle", "rustc_session", "rustc_span", "smallvec 1.0.0", @@ -4119,12 +4119,12 @@ dependencies = [ "log", "rls-data", "rls-span", - "rustc", "rustc_ast", "rustc_ast_pretty", "rustc_data_structures", "rustc_hir", "rustc_hir_pretty", + "rustc_middle", "rustc_parse", "rustc_session", "rustc_span", @@ -4169,12 +4169,12 @@ version = "0.0.0" dependencies = [ "log", "punycode", - "rustc", "rustc-demangle", "rustc_ast", "rustc_data_structures", "rustc_hir", "rustc_metadata", + "rustc_middle", "rustc_session", "rustc_span", "rustc_target", @@ -4209,7 +4209,6 @@ version = "0.0.0" dependencies = [ "fmt_macros", "log", - "rustc", "rustc_ast", "rustc_attr", "rustc_data_structures", @@ -4218,6 +4217,7 @@ dependencies = [ "rustc_index", "rustc_infer", "rustc_macros", + "rustc_middle", "rustc_session", "rustc_span", "rustc_target", @@ -4229,12 +4229,12 @@ name = "rustc_traits" version = "0.0.0" dependencies = [ "log", - "rustc", "rustc_ast", "rustc_data_structures", "rustc_hir", "rustc_infer", "rustc_macros", + "rustc_middle", "rustc_span", "rustc_target", "rustc_trait_selection", @@ -4246,10 +4246,10 @@ name = "rustc_ty" version = "0.0.0" dependencies = [ "log", - "rustc", "rustc_data_structures", "rustc_hir", "rustc_infer", + "rustc_middle", "rustc_session", "rustc_span", "rustc_target", @@ -4262,7 +4262,6 @@ version = "0.0.0" dependencies = [ "arena", "log", - "rustc", "rustc_ast", "rustc_attr", "rustc_data_structures", @@ -4270,6 +4269,7 @@ dependencies = [ "rustc_hir", "rustc_index", "rustc_infer", + "rustc_middle", "rustc_session", "rustc_span", "rustc_target", diff --git a/src/libcore/clone.rs b/src/libcore/clone.rs index eb101fc72fd9e..9cc0109069e9c 100644 --- a/src/libcore/clone.rs +++ b/src/libcore/clone.rs @@ -169,7 +169,7 @@ pub struct AssertParamIsCopy { /// Implementations of `Clone` for primitive types. /// /// Implementations that cannot be described in Rust -/// are implemented in `SelectionContext::copy_clone_conditions()` in librustc. +/// are implemented in `SelectionContext::copy_clone_conditions()` in librustc_middle. mod impls { use super::Clone; diff --git a/src/libcore/marker.rs b/src/libcore/marker.rs index b131cf84e1898..9b13766e9c43f 100644 --- a/src/libcore/marker.rs +++ b/src/libcore/marker.rs @@ -759,7 +759,7 @@ impl Unpin for *mut T {} /// Implementations of `Copy` for primitive types. /// /// Implementations that cannot be described in Rust -/// are implemented in `SelectionContext::copy_clone_conditions()` in librustc. +/// are implemented in `SelectionContext::copy_clone_conditions()` in librustc_middle. mod copy_impls { use super::Copy; diff --git a/src/libcore/raw.rs b/src/libcore/raw.rs index 75c329a7d6c10..9bbdce94a0623 100644 --- a/src/libcore/raw.rs +++ b/src/libcore/raw.rs @@ -6,7 +6,7 @@ //! They can be used as targets of transmutes in unsafe code for manipulating //! the raw representations directly. //! -//! Their definition should always match the ABI defined in `rustc::back::abi`. +//! Their definition should always match the ABI defined in `rustc_target::abi`. /// The representation of a trait object like `&SomeTrait`. /// diff --git a/src/librustc/arena.rs b/src/librustc/arena.rs deleted file mode 100644 index ae542cec170a3..0000000000000 --- a/src/librustc/arena.rs +++ /dev/null @@ -1,132 +0,0 @@ -/// This declares a list of types which can be allocated by `Arena`. -/// -/// The `few` modifier will cause allocation to use the shared arena and recording the destructor. -/// This is faster and more memory efficient if there's only a few allocations of the type. -/// Leaving `few` out will cause the type to get its own dedicated `TypedArena` which is -/// faster and more memory efficient if there is lots of allocations. -/// -/// Specifying the `decode` modifier will add decode impls for &T and &[T] where T is the type -/// listed. These impls will appear in the implement_ty_decoder! macro. -#[macro_export] -macro_rules! arena_types { - ($macro:path, $args:tt, $tcx:lifetime) => ( - $macro!($args, [ - [] layouts: rustc::ty::layout::Layout, - [] generics: rustc::ty::Generics, - [] trait_def: rustc::ty::TraitDef, - [] adt_def: rustc::ty::AdtDef, - [] steal_mir: rustc::ty::steal::Steal>, - [] mir: rustc::mir::BodyAndCache<$tcx>, - [] steal_promoted: rustc::ty::steal::Steal< - rustc_index::vec::IndexVec< - rustc::mir::Promoted, - rustc::mir::BodyAndCache<$tcx> - > - >, - [] promoted: rustc_index::vec::IndexVec< - rustc::mir::Promoted, - rustc::mir::BodyAndCache<$tcx> - >, - [decode] tables: rustc::ty::TypeckTables<$tcx>, - [decode] borrowck_result: rustc::mir::BorrowCheckResult<$tcx>, - [] const_allocs: rustc::mir::interpret::Allocation, - [] vtable_method: Option<( - rustc_hir::def_id::DefId, - rustc::ty::subst::SubstsRef<$tcx> - )>, - [few, decode] mir_keys: rustc_hir::def_id::DefIdSet, - [decode] specialization_graph: rustc::traits::specialization_graph::Graph, - [] region_scope_tree: rustc::middle::region::ScopeTree, - [] item_local_set: rustc_hir::ItemLocalSet, - [decode] mir_const_qualif: rustc_index::bit_set::BitSet, - [] trait_impls_of: rustc::ty::trait_def::TraitImpls, - [] associated_items: rustc::ty::AssociatedItems, - [] dropck_outlives: - rustc::infer::canonical::Canonical<'tcx, - rustc::infer::canonical::QueryResponse<'tcx, - rustc::traits::query::DropckOutlivesResult<'tcx> - > - >, - [] normalize_projection_ty: - rustc::infer::canonical::Canonical<'tcx, - rustc::infer::canonical::QueryResponse<'tcx, - rustc::traits::query::NormalizationResult<'tcx> - > - >, - [] implied_outlives_bounds: - rustc::infer::canonical::Canonical<'tcx, - rustc::infer::canonical::QueryResponse<'tcx, - Vec> - > - >, - [] type_op_subtype: - rustc::infer::canonical::Canonical<'tcx, - rustc::infer::canonical::QueryResponse<'tcx, ()> - >, - [] type_op_normalize_poly_fn_sig: - rustc::infer::canonical::Canonical<'tcx, - rustc::infer::canonical::QueryResponse<'tcx, rustc::ty::PolyFnSig<'tcx>> - >, - [] type_op_normalize_fn_sig: - rustc::infer::canonical::Canonical<'tcx, - rustc::infer::canonical::QueryResponse<'tcx, rustc::ty::FnSig<'tcx>> - >, - [] type_op_normalize_predicate: - rustc::infer::canonical::Canonical<'tcx, - rustc::infer::canonical::QueryResponse<'tcx, rustc::ty::Predicate<'tcx>> - >, - [] type_op_normalize_ty: - rustc::infer::canonical::Canonical<'tcx, - rustc::infer::canonical::QueryResponse<'tcx, rustc::ty::Ty<'tcx>> - >, - [few] crate_inherent_impls: rustc::ty::CrateInherentImpls, - [few] upstream_monomorphizations: - rustc_hir::def_id::DefIdMap< - rustc_data_structures::fx::FxHashMap< - rustc::ty::subst::SubstsRef<'tcx>, - rustc_hir::def_id::CrateNum - > - >, - [few] diagnostic_items: rustc_data_structures::fx::FxHashMap< - rustc_span::symbol::Symbol, - rustc_hir::def_id::DefId, - >, - [few] resolve_lifetimes: rustc::middle::resolve_lifetime::ResolveLifetimes, - [few] lint_levels: rustc::lint::LintLevelMap, - [few] stability_index: rustc::middle::stability::Index<'tcx>, - [few] features: rustc_feature::Features, - [few] all_traits: Vec, - [few] privacy_access_levels: rustc::middle::privacy::AccessLevels, - [few] target_features_whitelist: rustc_data_structures::fx::FxHashMap< - String, - Option - >, - [few] wasm_import_module_map: rustc_data_structures::fx::FxHashMap< - rustc_hir::def_id::DefId, - String - >, - [few] get_lib_features: rustc::middle::lib_features::LibFeatures, - [few] defined_lib_features: rustc::middle::lang_items::LanguageItems, - [few] visible_parent_map: rustc_hir::def_id::DefIdMap, - [few] foreign_module: rustc::middle::cstore::ForeignModule, - [few] foreign_modules: Vec, - [few] reachable_non_generics: rustc_hir::def_id::DefIdMap< - rustc::middle::exported_symbols::SymbolExportLevel - >, - [few] crate_variances: rustc::ty::CrateVariancesMap<'tcx>, - [few] inferred_outlives_crate: rustc::ty::CratePredicatesMap<'tcx>, - [] upvars: rustc_data_structures::fx::FxIndexMap, - - // Interned types - [] tys: rustc::ty::TyS<$tcx>, - - // HIR query types - [few] indexed_hir: rustc::hir::map::IndexedHir<$tcx>, - [few] hir_definitions: rustc_hir::definitions::Definitions, - [] hir_owner: rustc::hir::Owner<$tcx>, - [] hir_owner_nodes: rustc::hir::OwnerNodes<$tcx>, - ], $tcx); - ) -} - -arena_types!(arena::declare_arena, [], 'tcx); diff --git a/src/librustc_ast/entry.rs b/src/librustc_ast/entry.rs index 0a72019bfe986..90d417a45fd93 100644 --- a/src/librustc_ast/entry.rs +++ b/src/librustc_ast/entry.rs @@ -10,7 +10,7 @@ pub enum EntryPointType { OtherMain, // Not an entry point, but some other function named main } -// Beware, this is duplicated in librustc/middle/entry.rs, make sure to keep +// Beware, this is duplicated in librustc_middle/middle/entry.rs, make sure to keep // them in sync. pub fn entry_point_type(item: &Item, depth: usize) -> EntryPointType { match item.kind { diff --git a/src/librustc_ast/expand/mod.rs b/src/librustc_ast/expand/mod.rs index 50df8fa39eddf..3c634ff40ccb1 100644 --- a/src/librustc_ast/expand/mod.rs +++ b/src/librustc_ast/expand/mod.rs @@ -1,4 +1,4 @@ -//! Definitions shared by macros / syntax extensions and e.g. librustc. +//! Definitions shared by macros / syntax extensions and e.g. librustc_middle. use crate::ast::Attribute; use rustc_span::symbol::sym; diff --git a/src/librustc_ast/lib.rs b/src/librustc_ast/lib.rs index a93e0fcbd7193..1687f828f240f 100644 --- a/src/librustc_ast/lib.rs +++ b/src/librustc_ast/lib.rs @@ -54,7 +54,7 @@ use rustc_data_structures::stable_hasher::{HashStable, StableHasher}; /// Requirements for a `StableHashingContext` to be used in this crate. /// This is a hack to allow using the `HashStable_Generic` derive macro -/// instead of implementing everything in librustc. +/// instead of implementing everything in librustc_middle. pub trait HashStableContext: rustc_span::HashStableContext { fn hash_attr(&mut self, _: &ast::Attribute, hasher: &mut StableHasher); } diff --git a/src/librustc_ast_lowering/lib.rs b/src/librustc_ast_lowering/lib.rs index 45ee7265c15fc..9028edc73a031 100644 --- a/src/librustc_ast_lowering/lib.rs +++ b/src/librustc_ast_lowering/lib.rs @@ -97,7 +97,7 @@ struct LoweringContext<'a, 'hir: 'a> { /// HACK(Centril): there is a cyclic dependency between the parser and lowering /// if we don't have this function pointer. To avoid that dependency so that - /// librustc is independent of the parser, we use dynamic dispatch here. + /// librustc_middle is independent of the parser, we use dynamic dispatch here. nt_to_tokenstream: NtToTokenstream, /// Used to allocate HIR nodes diff --git a/src/librustc_attr/builtin.rs b/src/librustc_attr/builtin.rs index a16b79993912d..ab5a844e58f7a 100644 --- a/src/librustc_attr/builtin.rs +++ b/src/librustc_attr/builtin.rs @@ -870,7 +870,7 @@ pub fn find_repr_attrs(sess: &ParseSess, attr: &Attribute) -> Vec { let parse_alignment = |node: &ast::LitKind| -> Result { if let ast::LitKind::Int(literal, ast::LitIntType::Unsuffixed) = node { if literal.is_power_of_two() { - // rustc::ty::layout::Align restricts align to <= 2^29 + // rustc_middle::ty::layout::Align restricts align to <= 2^29 if *literal <= 1 << 29 { Ok(*literal as u32) } else { diff --git a/src/librustc_codegen_llvm/Cargo.toml b/src/librustc_codegen_llvm/Cargo.toml index 16ed0854abe6e..64e66595d92d9 100644 --- a/src/librustc_codegen_llvm/Cargo.toml +++ b/src/librustc_codegen_llvm/Cargo.toml @@ -16,7 +16,7 @@ flate2 = "1.0" libc = "0.2" measureme = "0.7.1" log = "0.4" -rustc = { path = "../librustc" } +rustc_middle = { path = "../librustc_middle" } rustc-demangle = "0.1" rustc_attr = { path = "../librustc_attr" } rustc_codegen_ssa = { path = "../librustc_codegen_ssa" } diff --git a/src/librustc_codegen_llvm/abi.rs b/src/librustc_codegen_llvm/abi.rs index 470a2bb8e1ea5..38dd879de7d59 100644 --- a/src/librustc_codegen_llvm/abi.rs +++ b/src/librustc_codegen_llvm/abi.rs @@ -5,19 +5,19 @@ use crate::type_::Type; use crate::type_of::LayoutLlvmExt; use crate::value::Value; -use rustc::bug; -use rustc::ty::layout::{self}; -use rustc::ty::Ty; use rustc_codegen_ssa::mir::operand::OperandValue; use rustc_codegen_ssa::mir::place::PlaceRef; use rustc_codegen_ssa::traits::*; use rustc_codegen_ssa::MemFlags; +use rustc_middle::bug; +use rustc_middle::ty::layout::{self}; +use rustc_middle::ty::Ty; use rustc_target::abi::call::ArgAbi; use rustc_target::abi::{HasDataLayout, LayoutOf}; use libc::c_uint; -pub use rustc::ty::layout::{FAT_PTR_ADDR, FAT_PTR_EXTRA}; +pub use rustc_middle::ty::layout::{FAT_PTR_ADDR, FAT_PTR_EXTRA}; pub use rustc_target::abi::call::*; pub use rustc_target::spec::abi::Abi; diff --git a/src/librustc_codegen_llvm/allocator.rs b/src/librustc_codegen_llvm/allocator.rs index 4e7bc9fa0e2ae..a78546571e291 100644 --- a/src/librustc_codegen_llvm/allocator.rs +++ b/src/librustc_codegen_llvm/allocator.rs @@ -1,8 +1,8 @@ use crate::attributes; use libc::c_uint; -use rustc::bug; -use rustc::ty::TyCtxt; use rustc_ast::expand::allocator::{AllocatorKind, AllocatorTy, ALLOCATOR_METHODS}; +use rustc_middle::bug; +use rustc_middle::ty::TyCtxt; use crate::llvm::{self, False, True}; use crate::ModuleLlvm; diff --git a/src/librustc_codegen_llvm/attributes.rs b/src/librustc_codegen_llvm/attributes.rs index a7417685c5c6a..e4d6d7d8af90e 100644 --- a/src/librustc_codegen_llvm/attributes.rs +++ b/src/librustc_codegen_llvm/attributes.rs @@ -2,15 +2,15 @@ use std::ffi::CString; -use rustc::middle::codegen_fn_attrs::CodegenFnAttrFlags; -use rustc::ty::layout::HasTyCtxt; -use rustc::ty::query::Providers; -use rustc::ty::{self, Ty, TyCtxt}; use rustc_codegen_ssa::traits::*; use rustc_data_structures::const_cstr; use rustc_data_structures::fx::FxHashMap; use rustc_data_structures::small_c_str::SmallCStr; use rustc_hir::def_id::{DefId, LOCAL_CRATE}; +use rustc_middle::middle::codegen_fn_attrs::CodegenFnAttrFlags; +use rustc_middle::ty::layout::HasTyCtxt; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::{self, Ty, TyCtxt}; use rustc_session::config::{OptLevel, Sanitizer}; use rustc_session::Session; use rustc_target::abi::call::Conv; diff --git a/src/librustc_codegen_llvm/back/lto.rs b/src/librustc_codegen_llvm/back/lto.rs index 1b64750f51feb..816329e06c7a5 100644 --- a/src/librustc_codegen_llvm/back/lto.rs +++ b/src/librustc_codegen_llvm/back/lto.rs @@ -6,9 +6,6 @@ use crate::llvm::archive_ro::ArchiveRO; use crate::llvm::{self, False, True}; use crate::{LlvmCodegenBackend, ModuleLlvm}; use log::{debug, info}; -use rustc::bug; -use rustc::dep_graph::WorkProduct; -use rustc::middle::exported_symbols::SymbolExportLevel; use rustc_codegen_ssa::back::lto::{LtoModuleCodegen, SerializedModule, ThinModule, ThinShared}; use rustc_codegen_ssa::back::symbol_export; use rustc_codegen_ssa::back::write::{CodegenContext, FatLTOInput, ModuleConfig}; @@ -17,6 +14,9 @@ use rustc_codegen_ssa::{ModuleCodegen, ModuleKind, RLIB_BYTECODE_EXTENSION}; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_errors::{FatalError, Handler}; use rustc_hir::def_id::LOCAL_CRATE; +use rustc_middle::bug; +use rustc_middle::dep_graph::WorkProduct; +use rustc_middle::middle::exported_symbols::SymbolExportLevel; use rustc_session::cgu_reuse_tracker::CguReuse; use rustc_session::config::{self, Lto}; diff --git a/src/librustc_codegen_llvm/back/write.rs b/src/librustc_codegen_llvm/back/write.rs index 77cae038fe52a..5708cb4e65418 100644 --- a/src/librustc_codegen_llvm/back/write.rs +++ b/src/librustc_codegen_llvm/back/write.rs @@ -14,8 +14,6 @@ use crate::type_::Type; use crate::LlvmCodegenBackend; use crate::ModuleLlvm; use log::debug; -use rustc::bug; -use rustc::ty::TyCtxt; use rustc_codegen_ssa::back::write::{BitcodeSection, CodegenContext, EmitObj, ModuleConfig}; use rustc_codegen_ssa::traits::*; use rustc_codegen_ssa::{CompiledModule, ModuleCodegen, RLIB_BYTECODE_EXTENSION}; @@ -23,6 +21,8 @@ use rustc_data_structures::small_c_str::SmallCStr; use rustc_errors::{FatalError, Handler}; use rustc_fs_util::{link_or_copy, path_to_c_string}; use rustc_hir::def_id::LOCAL_CRATE; +use rustc_middle::bug; +use rustc_middle::ty::TyCtxt; use rustc_session::config::{self, Lto, OutputType, Passes, Sanitizer, SwitchWithOptPath}; use rustc_session::Session; diff --git a/src/librustc_codegen_llvm/base.rs b/src/librustc_codegen_llvm/base.rs index 1fb1965484af2..e5f73473b72a6 100644 --- a/src/librustc_codegen_llvm/base.rs +++ b/src/librustc_codegen_llvm/base.rs @@ -23,17 +23,17 @@ use crate::llvm; use crate::metadata; use crate::value::Value; -use rustc::dep_graph; -use rustc::middle::codegen_fn_attrs::{CodegenFnAttrFlags, CodegenFnAttrs}; -use rustc::middle::cstore::EncodedMetadata; -use rustc::middle::exported_symbols; -use rustc::mir::mono::{Linkage, Visibility}; -use rustc::ty::TyCtxt; use rustc_codegen_ssa::base::maybe_create_entry_wrapper; use rustc_codegen_ssa::mono_item::MonoItemExt; use rustc_codegen_ssa::traits::*; use rustc_codegen_ssa::{ModuleCodegen, ModuleKind}; use rustc_data_structures::small_c_str::SmallCStr; +use rustc_middle::dep_graph; +use rustc_middle::middle::codegen_fn_attrs::{CodegenFnAttrFlags, CodegenFnAttrs}; +use rustc_middle::middle::cstore::EncodedMetadata; +use rustc_middle::middle::exported_symbols; +use rustc_middle::mir::mono::{Linkage, Visibility}; +use rustc_middle::ty::TyCtxt; use rustc_session::config::DebugInfo; use rustc_span::symbol::Symbol; diff --git a/src/librustc_codegen_llvm/builder.rs b/src/librustc_codegen_llvm/builder.rs index c743a08954927..35946fb71c3e0 100644 --- a/src/librustc_codegen_llvm/builder.rs +++ b/src/librustc_codegen_llvm/builder.rs @@ -7,8 +7,6 @@ use crate::type_of::LayoutLlvmExt; use crate::value::Value; use libc::{c_char, c_uint}; use log::debug; -use rustc::ty::layout::{self, Align, Size, TyAndLayout}; -use rustc::ty::{self, Ty, TyCtxt}; use rustc_codegen_ssa::base::to_immediate; use rustc_codegen_ssa::common::{IntPredicate, RealPredicate, TypeKind}; use rustc_codegen_ssa::mir::operand::{OperandRef, OperandValue}; @@ -18,6 +16,8 @@ use rustc_codegen_ssa::MemFlags; use rustc_data_structures::const_cstr; use rustc_data_structures::small_c_str::SmallCStr; use rustc_hir::def_id::DefId; +use rustc_middle::ty::layout::{self, Align, Size, TyAndLayout}; +use rustc_middle::ty::{self, Ty, TyCtxt}; use rustc_session::config::{self, Sanitizer}; use rustc_target::spec::{HasTargetSpec, Target}; use std::borrow::Cow; @@ -302,9 +302,9 @@ impl BuilderMethods<'a, 'tcx> for Builder<'a, 'll, 'tcx> { lhs: Self::Value, rhs: Self::Value, ) -> (Self::Value, Self::Value) { - use rustc::ty::{Int, Uint}; use rustc_ast::ast::IntTy::*; use rustc_ast::ast::UintTy::*; + use rustc_middle::ty::{Int, Uint}; let new_kind = match ty.kind { Int(t @ Isize) => Int(t.normalize(self.tcx.sess.target.ptr_width)), diff --git a/src/librustc_codegen_llvm/callee.rs b/src/librustc_codegen_llvm/callee.rs index 04d92142266ee..0759823c07a85 100644 --- a/src/librustc_codegen_llvm/callee.rs +++ b/src/librustc_codegen_llvm/callee.rs @@ -12,8 +12,8 @@ use crate::value::Value; use log::debug; use rustc_codegen_ssa::traits::*; -use rustc::ty::layout::{FnAbiExt, HasTyCtxt}; -use rustc::ty::{Instance, TypeFoldable}; +use rustc_middle::ty::layout::{FnAbiExt, HasTyCtxt}; +use rustc_middle::ty::{Instance, TypeFoldable}; /// Codegens a reference to a fn/method item, monomorphizing and /// inlining as it goes. diff --git a/src/librustc_codegen_llvm/common.rs b/src/librustc_codegen_llvm/common.rs index c28958e0b4b4f..01c8e02fdc2ba 100644 --- a/src/librustc_codegen_llvm/common.rs +++ b/src/librustc_codegen_llvm/common.rs @@ -8,13 +8,13 @@ use crate::type_::Type; use crate::type_of::LayoutLlvmExt; use crate::value::Value; use log::debug; -use rustc::bug; use rustc_codegen_ssa::traits::*; +use rustc_middle::bug; use crate::consts::const_alloc_to_llvm; -use rustc::mir::interpret::{Allocation, GlobalAlloc, Scalar}; -use rustc::ty::layout::{self, HasDataLayout, LayoutOf, Size, TyAndLayout}; use rustc_codegen_ssa::mir::place::PlaceRef; +use rustc_middle::mir::interpret::{Allocation, GlobalAlloc, Scalar}; +use rustc_middle::ty::layout::{self, HasDataLayout, LayoutOf, Size, TyAndLayout}; use libc::{c_char, c_uint}; diff --git a/src/librustc_codegen_llvm/consts.rs b/src/librustc_codegen_llvm/consts.rs index 619dee2909281..db92f3d382f6e 100644 --- a/src/librustc_codegen_llvm/consts.rs +++ b/src/librustc_codegen_llvm/consts.rs @@ -7,16 +7,18 @@ use crate::type_of::LayoutLlvmExt; use crate::value::Value; use libc::c_uint; use log::debug; -use rustc::middle::codegen_fn_attrs::{CodegenFnAttrFlags, CodegenFnAttrs}; -use rustc::mir::interpret::{read_target_uint, Allocation, ConstValue, ErrorHandled, Pointer}; -use rustc::mir::mono::MonoItem; -use rustc::ty::layout::{self, Align, LayoutOf, Size}; -use rustc::ty::{self, Instance, Ty}; -use rustc::{bug, span_bug}; use rustc_codegen_ssa::traits::*; use rustc_hir as hir; use rustc_hir::def_id::DefId; use rustc_hir::Node; +use rustc_middle::middle::codegen_fn_attrs::{CodegenFnAttrFlags, CodegenFnAttrs}; +use rustc_middle::mir::interpret::{ + read_target_uint, Allocation, ConstValue, ErrorHandled, Pointer, +}; +use rustc_middle::mir::mono::MonoItem; +use rustc_middle::ty::layout::{self, Align, LayoutOf, Size}; +use rustc_middle::ty::{self, Instance, Ty}; +use rustc_middle::{bug, span_bug}; use rustc_span::symbol::{sym, Symbol}; use rustc_span::Span; use rustc_target::abi::HasDataLayout; diff --git a/src/librustc_codegen_llvm/context.rs b/src/librustc_codegen_llvm/context.rs index 3462153f42c7c..add1f46a56d37 100644 --- a/src/librustc_codegen_llvm/context.rs +++ b/src/librustc_codegen_llvm/context.rs @@ -6,18 +6,18 @@ use crate::llvm_util; use crate::type_::Type; use crate::value::Value; -use rustc::bug; -use rustc::mir::mono::CodegenUnit; -use rustc::ty::layout::{ - HasParamEnv, LayoutError, LayoutOf, PointeeInfo, Size, TyAndLayout, VariantIdx, -}; -use rustc::ty::{self, Instance, Ty, TyCtxt}; use rustc_codegen_ssa::base::wants_msvc_seh; use rustc_codegen_ssa::traits::*; use rustc_data_structures::base_n; use rustc_data_structures::const_cstr; use rustc_data_structures::fx::FxHashMap; use rustc_data_structures::small_c_str::SmallCStr; +use rustc_middle::bug; +use rustc_middle::mir::mono::CodegenUnit; +use rustc_middle::ty::layout::{ + HasParamEnv, LayoutError, LayoutOf, PointeeInfo, Size, TyAndLayout, VariantIdx, +}; +use rustc_middle::ty::{self, Instance, Ty, TyCtxt}; use rustc_session::config::{self, CFGuard, DebugInfo}; use rustc_session::Session; use rustc_span::source_map::{Span, DUMMY_SP}; diff --git a/src/librustc_codegen_llvm/debuginfo/create_scope_map.rs b/src/librustc_codegen_llvm/debuginfo/create_scope_map.rs index 13a36c36a309a..e2eae4ac427e5 100644 --- a/src/librustc_codegen_llvm/debuginfo/create_scope_map.rs +++ b/src/librustc_codegen_llvm/debuginfo/create_scope_map.rs @@ -6,7 +6,7 @@ use rustc_codegen_ssa::traits::*; use crate::common::CodegenCx; use crate::llvm; use crate::llvm::debuginfo::{DIScope, DISubprogram}; -use rustc::mir::{Body, SourceScope}; +use rustc_middle::mir::{Body, SourceScope}; use rustc_session::config::DebugInfo; use rustc_index::bit_set::BitSet; diff --git a/src/librustc_codegen_llvm/debuginfo/gdb.rs b/src/librustc_codegen_llvm/debuginfo/gdb.rs index dccd287a2e38c..64d4076cbf0db 100644 --- a/src/librustc_codegen_llvm/debuginfo/gdb.rs +++ b/src/librustc_codegen_llvm/debuginfo/gdb.rs @@ -5,8 +5,8 @@ use crate::llvm; use crate::builder::Builder; use crate::common::CodegenCx; use crate::value::Value; -use rustc::bug; use rustc_codegen_ssa::traits::*; +use rustc_middle::bug; use rustc_session::config::DebugInfo; use rustc_ast::attr; diff --git a/src/librustc_codegen_llvm/debuginfo/metadata.rs b/src/librustc_codegen_llvm/debuginfo/metadata.rs index 6d4309c9660ea..20d07b2f8ce82 100644 --- a/src/librustc_codegen_llvm/debuginfo/metadata.rs +++ b/src/librustc_codegen_llvm/debuginfo/metadata.rs @@ -20,17 +20,6 @@ use crate::llvm_util; use crate::value::Value; use log::debug; -use rustc::ich::NodeIdHashingMode; -use rustc::middle::codegen_fn_attrs::CodegenFnAttrFlags; -use rustc::mir::interpret::truncate; -use rustc::mir::{self, Field, GeneratorLayout}; -use rustc::ty::layout::{ - self, Align, Integer, IntegerExt, LayoutOf, PrimitiveExt, Size, TyAndLayout, VariantIdx, -}; -use rustc::ty::subst::{GenericArgKind, SubstsRef}; -use rustc::ty::Instance; -use rustc::ty::{self, AdtKind, ParamEnv, Ty, TyCtxt}; -use rustc::{bug, span_bug}; use rustc_ast::ast; use rustc_codegen_ssa::traits::*; use rustc_data_structures::const_cstr; @@ -41,6 +30,17 @@ use rustc_fs_util::path_to_c_string; use rustc_hir::def::CtorKind; use rustc_hir::def_id::{CrateNum, DefId, LOCAL_CRATE}; use rustc_index::vec::{Idx, IndexVec}; +use rustc_middle::ich::NodeIdHashingMode; +use rustc_middle::middle::codegen_fn_attrs::CodegenFnAttrFlags; +use rustc_middle::mir::interpret::truncate; +use rustc_middle::mir::{self, Field, GeneratorLayout}; +use rustc_middle::ty::layout::{ + self, Align, Integer, IntegerExt, LayoutOf, PrimitiveExt, Size, TyAndLayout, VariantIdx, +}; +use rustc_middle::ty::subst::{GenericArgKind, SubstsRef}; +use rustc_middle::ty::Instance; +use rustc_middle::ty::{self, AdtKind, ParamEnv, Ty, TyCtxt}; +use rustc_middle::{bug, span_bug}; use rustc_session::config::{self, DebugInfo}; use rustc_span::symbol::{Interner, Symbol}; use rustc_span::{self, FileName, Span}; diff --git a/src/librustc_codegen_llvm/debuginfo/mod.rs b/src/librustc_codegen_llvm/debuginfo/mod.rs index 4b8140263f1f2..848c973c15b51 100644 --- a/src/librustc_codegen_llvm/debuginfo/mod.rs +++ b/src/librustc_codegen_llvm/debuginfo/mod.rs @@ -12,28 +12,28 @@ use crate::llvm; use crate::llvm::debuginfo::{ DIArray, DIBuilder, DIFile, DIFlags, DILexicalBlock, DISPFlags, DIScope, DIType, DIVariable, }; -use rustc::ty::subst::{GenericArgKind, SubstsRef}; use rustc_hir::def_id::{CrateNum, DefId, DefIdMap, LOCAL_CRATE}; +use rustc_middle::ty::subst::{GenericArgKind, SubstsRef}; use crate::abi::FnAbi; use crate::builder::Builder; use crate::common::CodegenCx; use crate::value::Value; -use rustc::mir; -use rustc::ty::{self, Instance, ParamEnv, Ty}; use rustc_codegen_ssa::debuginfo::type_names; use rustc_codegen_ssa::mir::debuginfo::{DebugScope, FunctionDebugContext, VariableKind}; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_index::vec::IndexVec; +use rustc_middle::mir; +use rustc_middle::ty::{self, Instance, ParamEnv, Ty}; use rustc_session::config::{self, DebugInfo}; use libc::c_uint; use log::debug; use std::cell::RefCell; -use rustc::ty::layout::{self, HasTyCtxt, LayoutOf, Size}; use rustc_ast::ast; use rustc_codegen_ssa::traits::*; +use rustc_middle::ty::layout::{self, HasTyCtxt, LayoutOf, Size}; use rustc_span::symbol::Symbol; use rustc_span::{self, BytePos, Span}; use smallvec::SmallVec; diff --git a/src/librustc_codegen_llvm/debuginfo/namespace.rs b/src/librustc_codegen_llvm/debuginfo/namespace.rs index 4e507a569dcd1..475dea239a765 100644 --- a/src/librustc_codegen_llvm/debuginfo/namespace.rs +++ b/src/librustc_codegen_llvm/debuginfo/namespace.rs @@ -1,7 +1,7 @@ // Namespace Handling. use super::utils::{debug_context, DIB}; -use rustc::ty::{self, Instance}; +use rustc_middle::ty::{self, Instance}; use crate::common::CodegenCx; use crate::llvm; diff --git a/src/librustc_codegen_llvm/debuginfo/utils.rs b/src/librustc_codegen_llvm/debuginfo/utils.rs index b42d760a77345..ee188e69be11f 100644 --- a/src/librustc_codegen_llvm/debuginfo/utils.rs +++ b/src/librustc_codegen_llvm/debuginfo/utils.rs @@ -3,8 +3,8 @@ use super::namespace::item_namespace; use super::CrateDebugContext; -use rustc::ty::DefIdTree; use rustc_hir::def_id::DefId; +use rustc_middle::ty::DefIdTree; use crate::common::CodegenCx; use crate::llvm; diff --git a/src/librustc_codegen_llvm/declare.rs b/src/librustc_codegen_llvm/declare.rs index 236f5bb1bfdfb..26ab46bde3843 100644 --- a/src/librustc_codegen_llvm/declare.rs +++ b/src/librustc_codegen_llvm/declare.rs @@ -19,8 +19,8 @@ use crate::llvm::AttributePlace::Function; use crate::type_::Type; use crate::value::Value; use log::debug; -use rustc::ty::Ty; use rustc_codegen_ssa::traits::*; +use rustc_middle::ty::Ty; /// Declare a function. /// diff --git a/src/librustc_codegen_llvm/intrinsic.rs b/src/librustc_codegen_llvm/intrinsic.rs index bc25b9496d9b5..23f6c0a942036 100644 --- a/src/librustc_codegen_llvm/intrinsic.rs +++ b/src/librustc_codegen_llvm/intrinsic.rs @@ -7,9 +7,6 @@ use crate::type_::Type; use crate::type_of::LayoutLlvmExt; use crate::va_arg::emit_va_arg; use crate::value::Value; -use rustc::ty::layout::{self, FnAbiExt, HasTyCtxt, LayoutOf, Primitive}; -use rustc::ty::{self, Ty}; -use rustc::{bug, span_bug}; use rustc_ast::ast; use rustc_codegen_ssa::base::{compare_simd_types, to_immediate, wants_msvc_seh}; use rustc_codegen_ssa::common::{IntPredicate, TypeKind}; @@ -18,6 +15,9 @@ use rustc_codegen_ssa::mir::operand::{OperandRef, OperandValue}; use rustc_codegen_ssa::mir::place::PlaceRef; use rustc_codegen_ssa::MemFlags; use rustc_hir as hir; +use rustc_middle::ty::layout::{self, FnAbiExt, HasTyCtxt, LayoutOf, Primitive}; +use rustc_middle::ty::{self, Ty}; +use rustc_middle::{bug, span_bug}; use rustc_target::abi::HasDataLayout; use rustc_codegen_ssa::common::span_invalid_monomorphization_error; @@ -1390,8 +1390,8 @@ fn generic_simd_intrinsic( fn simd_simple_float_intrinsic( name: &str, - in_elem: &::rustc::ty::TyS<'_>, - in_ty: &::rustc::ty::TyS<'_>, + in_elem: &::rustc_middle::ty::TyS<'_>, + in_ty: &::rustc_middle::ty::TyS<'_>, in_len: u64, bx: &mut Builder<'a, 'll, 'tcx>, span: Span, diff --git a/src/librustc_codegen_llvm/lib.rs b/src/librustc_codegen_llvm/lib.rs index e36c80e15a5e0..8a16d098a8bef 100644 --- a/src/librustc_codegen_llvm/lib.rs +++ b/src/librustc_codegen_llvm/lib.rs @@ -17,10 +17,6 @@ use back::write::{create_informational_target_machine, create_target_machine}; pub use llvm_util::target_features; -use rustc::dep_graph::{DepGraph, WorkProduct}; -use rustc::middle::cstore::{EncodedMetadata, MetadataLoaderDyn}; -use rustc::ty::{self, TyCtxt}; -use rustc::util::common::ErrorReported; use rustc_ast::expand::allocator::AllocatorKind; use rustc_codegen_ssa::back::lto::{LtoModuleCodegen, SerializedModule, ThinModule}; use rustc_codegen_ssa::back::write::{CodegenContext, FatLTOInput, ModuleConfig}; @@ -28,6 +24,10 @@ use rustc_codegen_ssa::traits::*; use rustc_codegen_ssa::ModuleCodegen; use rustc_codegen_ssa::{CodegenResults, CompiledModule}; use rustc_errors::{FatalError, Handler}; +use rustc_middle::dep_graph::{DepGraph, WorkProduct}; +use rustc_middle::middle::cstore::{EncodedMetadata, MetadataLoaderDyn}; +use rustc_middle::ty::{self, TyCtxt}; +use rustc_middle::util::common::ErrorReported; use rustc_serialize::json; use rustc_session::config::{self, OptLevel, OutputFilenames, PrintRequest}; use rustc_session::Session; diff --git a/src/librustc_codegen_llvm/llvm_util.rs b/src/librustc_codegen_llvm/llvm_util.rs index 2ccc861ddbb42..a56c8802f3c00 100644 --- a/src/librustc_codegen_llvm/llvm_util.rs +++ b/src/librustc_codegen_llvm/llvm_util.rs @@ -1,9 +1,9 @@ use crate::back::write::create_informational_target_machine; use crate::llvm; use libc::c_int; -use rustc::bug; use rustc_data_structures::fx::FxHashSet; use rustc_feature::UnstableFeatures; +use rustc_middle::bug; use rustc_session::config::PrintRequest; use rustc_session::Session; use rustc_span::symbol::sym; diff --git a/src/librustc_codegen_llvm/metadata.rs b/src/librustc_codegen_llvm/metadata.rs index 0f30c2c020de7..6d0612ca075d1 100644 --- a/src/librustc_codegen_llvm/metadata.rs +++ b/src/librustc_codegen_llvm/metadata.rs @@ -1,7 +1,7 @@ use crate::llvm; use crate::llvm::archive_ro::ArchiveRO; use crate::llvm::{mk_section_iter, False, ObjectFile}; -use rustc::middle::cstore::MetadataLoader; +use rustc_middle::middle::cstore::MetadataLoader; use rustc_target::spec::Target; use log::debug; diff --git a/src/librustc_codegen_llvm/mono_item.rs b/src/librustc_codegen_llvm/mono_item.rs index 97393e69e995f..fe1537fbd021d 100644 --- a/src/librustc_codegen_llvm/mono_item.rs +++ b/src/librustc_codegen_llvm/mono_item.rs @@ -5,13 +5,13 @@ use crate::context::CodegenCx; use crate::llvm; use crate::type_of::LayoutLlvmExt; use log::debug; -use rustc::mir::mono::{Linkage, Visibility}; -use rustc::ty::layout::{FnAbiExt, LayoutOf}; -use rustc::ty::{Instance, TypeFoldable}; use rustc_codegen_ssa::traits::*; use rustc_hir::def_id::{DefId, LOCAL_CRATE}; +use rustc_middle::mir::mono::{Linkage, Visibility}; +use rustc_middle::ty::layout::{FnAbiExt, LayoutOf}; +use rustc_middle::ty::{Instance, TypeFoldable}; -pub use rustc::mir::mono::MonoItem; +pub use rustc_middle::mir::mono::MonoItem; impl PreDefineMethods<'tcx> for CodegenCx<'ll, 'tcx> { fn predefine_static( diff --git a/src/librustc_codegen_llvm/type_.rs b/src/librustc_codegen_llvm/type_.rs index 85e0f284e26c0..c06d2e6a01ac2 100644 --- a/src/librustc_codegen_llvm/type_.rs +++ b/src/librustc_codegen_llvm/type_.rs @@ -1,20 +1,19 @@ pub use crate::llvm::Type; +use crate::abi::{FnAbiLlvmExt, LlvmType}; +use crate::common; use crate::context::CodegenCx; use crate::llvm; use crate::llvm::{Bool, False, True}; -use crate::value::Value; -use rustc::bug; -use rustc_codegen_ssa::traits::*; - -use crate::abi::{FnAbiLlvmExt, LlvmType}; -use crate::common; use crate::type_of::LayoutLlvmExt; -use rustc::ty::layout::{self, Align, Size, TyAndLayout}; -use rustc::ty::Ty; +use crate::value::Value; use rustc_ast::ast; use rustc_codegen_ssa::common::TypeKind; +use rustc_codegen_ssa::traits::*; use rustc_data_structures::small_c_str::SmallCStr; +use rustc_middle::bug; +use rustc_middle::ty::layout::{self, Align, Size, TyAndLayout}; +use rustc_middle::ty::Ty; use rustc_target::abi::call::{CastTarget, FnAbi, Reg}; use std::fmt; diff --git a/src/librustc_codegen_llvm/type_of.rs b/src/librustc_codegen_llvm/type_of.rs index 9d909e83d175a..350f7be5a9d8d 100644 --- a/src/librustc_codegen_llvm/type_of.rs +++ b/src/librustc_codegen_llvm/type_of.rs @@ -2,11 +2,11 @@ use crate::abi::FnAbi; use crate::common::*; use crate::type_::Type; use log::debug; -use rustc::bug; -use rustc::ty::layout::{self, Align, FnAbiExt, LayoutOf, PointeeInfo, Size, TyAndLayout}; -use rustc::ty::print::obsolete::DefPathBasedNames; -use rustc::ty::{self, Ty, TypeFoldable}; use rustc_codegen_ssa::traits::*; +use rustc_middle::bug; +use rustc_middle::ty::layout::{self, Align, FnAbiExt, LayoutOf, PointeeInfo, Size, TyAndLayout}; +use rustc_middle::ty::print::obsolete::DefPathBasedNames; +use rustc_middle::ty::{self, Ty, TypeFoldable}; use rustc_target::abi::TyAndLayoutMethods; use std::fmt::Write; @@ -221,7 +221,7 @@ impl<'tcx> LayoutLlvmExt<'tcx> for TyAndLayout<'tcx> { } } - /// Gets the LLVM type corresponding to a Rust type, i.e., `rustc::ty::Ty`. + /// Gets the LLVM type corresponding to a Rust type, i.e., `rustc_middle::ty::Ty`. /// The pointee type of the pointer in `PlaceRef` is always this type. /// For sized types, it is also the right LLVM type for an `alloca` /// containing a value of that type, and most immediates (except `bool`). diff --git a/src/librustc_codegen_llvm/va_arg.rs b/src/librustc_codegen_llvm/va_arg.rs index a552f2cdb78aa..42e9f60e95cb5 100644 --- a/src/librustc_codegen_llvm/va_arg.rs +++ b/src/librustc_codegen_llvm/va_arg.rs @@ -2,12 +2,12 @@ use crate::builder::Builder; use crate::type_::Type; use crate::type_of::LayoutLlvmExt; use crate::value::Value; -use rustc::ty::layout::{Align, HasDataLayout, HasTyCtxt, LayoutOf, Size}; -use rustc::ty::Ty; use rustc_codegen_ssa::mir::operand::OperandRef; use rustc_codegen_ssa::traits::{ BaseTypeMethods, BuilderMethods, ConstMethods, DerivedTypeMethods, }; +use rustc_middle::ty::layout::{Align, HasDataLayout, HasTyCtxt, LayoutOf, Size}; +use rustc_middle::ty::Ty; #[allow(dead_code)] fn round_pointer_up_to_alignment( diff --git a/src/librustc_codegen_ssa/Cargo.toml b/src/librustc_codegen_ssa/Cargo.toml index 299f4d2c66998..717e32d4a0d8a 100644 --- a/src/librustc_codegen_ssa/Cargo.toml +++ b/src/librustc_codegen_ssa/Cargo.toml @@ -22,7 +22,7 @@ tempfile = "3.1" rustc_serialize = { path = "../libserialize", package = "serialize" } rustc_ast = { path = "../librustc_ast" } rustc_span = { path = "../librustc_span" } -rustc = { path = "../librustc" } +rustc_middle = { path = "../librustc_middle" } rustc_apfloat = { path = "../librustc_apfloat" } rustc_attr = { path = "../librustc_attr" } rustc_symbol_mangling = { path = "../librustc_symbol_mangling" } diff --git a/src/librustc_codegen_ssa/back/link.rs b/src/librustc_codegen_ssa/back/link.rs index 7169b79c3bc36..1e780c5f86771 100644 --- a/src/librustc_codegen_ssa/back/link.rs +++ b/src/librustc_codegen_ssa/back/link.rs @@ -1,8 +1,8 @@ -use rustc::middle::cstore::{EncodedMetadata, LibSource, NativeLibrary, NativeLibraryKind}; -use rustc::middle::dependency_format::Linkage; use rustc_data_structures::fx::FxHashSet; use rustc_fs_util::fix_windows_verbatim_for_gcc; use rustc_hir::def_id::CrateNum; +use rustc_middle::middle::cstore::{EncodedMetadata, LibSource, NativeLibrary, NativeLibraryKind}; +use rustc_middle::middle::dependency_format::Linkage; use rustc_session::config::{ self, CFGuard, DebugInfo, OutputFilenames, OutputType, PrintRequest, Sanitizer, }; diff --git a/src/librustc_codegen_ssa/back/linker.rs b/src/librustc_codegen_ssa/back/linker.rs index 6b30ae8559db9..c0c533524b098 100644 --- a/src/librustc_codegen_ssa/back/linker.rs +++ b/src/librustc_codegen_ssa/back/linker.rs @@ -8,10 +8,10 @@ use std::io::prelude::*; use std::io::{self, BufWriter}; use std::path::{Path, PathBuf}; -use rustc::middle::dependency_format::Linkage; -use rustc::ty::TyCtxt; use rustc_data_structures::fx::FxHashMap; use rustc_hir::def_id::{CrateNum, LOCAL_CRATE}; +use rustc_middle::middle::dependency_format::Linkage; +use rustc_middle::ty::TyCtxt; use rustc_serialize::{json, Encoder}; use rustc_session::config::{self, CrateType, DebugInfo, LinkerPluginLto, Lto, OptLevel}; use rustc_session::Session; diff --git a/src/librustc_codegen_ssa/back/rpath.rs b/src/librustc_codegen_ssa/back/rpath.rs index 0a0e975e5a54c..c02e4f279b1fb 100644 --- a/src/librustc_codegen_ssa/back/rpath.rs +++ b/src/librustc_codegen_ssa/back/rpath.rs @@ -3,8 +3,8 @@ use std::env; use std::fs; use std::path::{Path, PathBuf}; -use rustc::middle::cstore::LibSource; use rustc_hir::def_id::CrateNum; +use rustc_middle::middle::cstore::LibSource; pub struct RPathConfig<'a> { pub used_crates: &'a [(CrateNum, LibSource)], diff --git a/src/librustc_codegen_ssa/back/symbol_export.rs b/src/librustc_codegen_ssa/back/symbol_export.rs index 8a2503ce16730..39b70a5f2e730 100644 --- a/src/librustc_codegen_ssa/back/symbol_export.rs +++ b/src/librustc_codegen_ssa/back/symbol_export.rs @@ -1,12 +1,6 @@ use std::collections::hash_map::Entry::*; use std::sync::Arc; -use rustc::middle::codegen_fn_attrs::CodegenFnAttrFlags; -use rustc::middle::exported_symbols::{metadata_symbol_name, ExportedSymbol, SymbolExportLevel}; -use rustc::ty::query::Providers; -use rustc::ty::subst::{GenericArgKind, SubstsRef}; -use rustc::ty::Instance; -use rustc::ty::{SymbolName, TyCtxt}; use rustc_ast::expand::allocator::ALLOCATOR_METHODS; use rustc_data_structures::fingerprint::Fingerprint; use rustc_data_structures::fx::FxHashMap; @@ -14,6 +8,14 @@ use rustc_hir as hir; use rustc_hir::def_id::{CrateNum, DefId, DefIdMap, CRATE_DEF_INDEX, LOCAL_CRATE}; use rustc_hir::Node; use rustc_index::vec::IndexVec; +use rustc_middle::middle::codegen_fn_attrs::CodegenFnAttrFlags; +use rustc_middle::middle::exported_symbols::{ + metadata_symbol_name, ExportedSymbol, SymbolExportLevel, +}; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::subst::{GenericArgKind, SubstsRef}; +use rustc_middle::ty::Instance; +use rustc_middle::ty::{SymbolName, TyCtxt}; use rustc_session::config::{self, Sanitizer}; pub fn threshold(tcx: TyCtxt<'_>) -> SymbolExportLevel { @@ -221,8 +223,8 @@ fn exported_symbols_provider_local( } if tcx.sess.opts.share_generics() && tcx.local_crate_exports_generics() { - use rustc::mir::mono::{Linkage, MonoItem, Visibility}; - use rustc::ty::InstanceDef; + use rustc_middle::mir::mono::{Linkage, MonoItem, Visibility}; + use rustc_middle::ty::InstanceDef; // Normally, we require that shared monomorphizations are not hidden, // because if we want to re-use a monomorphization from a Rust dylib, it diff --git a/src/librustc_codegen_ssa/back/write.rs b/src/librustc_codegen_ssa/back/write.rs index 7833f22097c64..35c5812e1f3bf 100644 --- a/src/librustc_codegen_ssa/back/write.rs +++ b/src/librustc_codegen_ssa/back/write.rs @@ -10,10 +10,6 @@ use crate::{ use crate::traits::*; use jobserver::{Acquired, Client}; -use rustc::dep_graph::{WorkProduct, WorkProductFileKind, WorkProductId}; -use rustc::middle::cstore::EncodedMetadata; -use rustc::middle::exported_symbols::SymbolExportLevel; -use rustc::ty::TyCtxt; use rustc_ast::attr; use rustc_data_structures::fx::FxHashMap; use rustc_data_structures::profiling::SelfProfilerRef; @@ -28,6 +24,10 @@ use rustc_hir::def_id::{CrateNum, LOCAL_CRATE}; use rustc_incremental::{ copy_cgu_workproducts_to_incr_comp_cache_dir, in_incr_comp_dir, in_incr_comp_dir_sess, }; +use rustc_middle::dep_graph::{WorkProduct, WorkProductFileKind, WorkProductId}; +use rustc_middle::middle::cstore::EncodedMetadata; +use rustc_middle::middle::exported_symbols::SymbolExportLevel; +use rustc_middle::ty::TyCtxt; use rustc_session::cgu_reuse_tracker::CguReuseTracker; use rustc_session::config::{ self, Lto, OutputFilenames, OutputType, Passes, Sanitizer, SwitchWithOptPath, diff --git a/src/librustc_codegen_ssa/base.rs b/src/librustc_codegen_ssa/base.rs index 3f5a5e4e5312a..9e6a3b23323d8 100644 --- a/src/librustc_codegen_ssa/base.rs +++ b/src/librustc_codegen_ssa/base.rs @@ -25,16 +25,6 @@ use crate::mir::place::PlaceRef; use crate::traits::*; use crate::{CachedModuleCodegen, CrateInfo, MemFlags, ModuleCodegen, ModuleKind}; -use rustc::middle::codegen_fn_attrs::CodegenFnAttrs; -use rustc::middle::cstore::EncodedMetadata; -use rustc::middle::cstore::{self, LinkagePreference}; -use rustc::middle::lang_items; -use rustc::middle::lang_items::StartFnLangItem; -use rustc::mir::mono::{CodegenUnit, CodegenUnitNameBuilder, MonoItem}; -use rustc::ty::layout::{self, Align, HasTyCtxt, LayoutOf, TyAndLayout, VariantIdx}; -use rustc::ty::layout::{FAT_PTR_ADDR, FAT_PTR_EXTRA}; -use rustc::ty::query::Providers; -use rustc::ty::{self, Instance, Ty, TyCtxt}; use rustc_attr as attr; use rustc_data_structures::fx::FxHashMap; use rustc_data_structures::profiling::print_time_passes_entry; @@ -42,6 +32,16 @@ use rustc_data_structures::sync::{par_iter, Lock, ParallelIterator}; use rustc_hir as hir; use rustc_hir::def_id::{DefId, LOCAL_CRATE}; use rustc_index::vec::Idx; +use rustc_middle::middle::codegen_fn_attrs::CodegenFnAttrs; +use rustc_middle::middle::cstore::EncodedMetadata; +use rustc_middle::middle::cstore::{self, LinkagePreference}; +use rustc_middle::middle::lang_items; +use rustc_middle::middle::lang_items::StartFnLangItem; +use rustc_middle::mir::mono::{CodegenUnit, CodegenUnitNameBuilder, MonoItem}; +use rustc_middle::ty::layout::{self, Align, HasTyCtxt, LayoutOf, TyAndLayout, VariantIdx}; +use rustc_middle::ty::layout::{FAT_PTR_ADDR, FAT_PTR_EXTRA}; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::{self, Instance, Ty, TyCtxt}; use rustc_session::cgu_reuse_tracker::CguReuse; use rustc_session::config::{self, EntryFnType, Lto}; use rustc_session::Session; @@ -557,7 +557,7 @@ pub fn codegen_crate( // one instead. If nothing exists then it's our job to generate the // allocator! let any_dynamic_crate = tcx.dependency_formats(LOCAL_CRATE).iter().any(|(_, list)| { - use rustc::middle::dependency_format::Linkage; + use rustc_middle::middle::dependency_format::Linkage; list.iter().any(|&linkage| linkage == Linkage::Dynamic) }); let allocator_module = if any_dynamic_crate { diff --git a/src/librustc_codegen_ssa/common.rs b/src/librustc_codegen_ssa/common.rs index 147b23995023f..8de04b730e170 100644 --- a/src/librustc_codegen_ssa/common.rs +++ b/src/librustc_codegen_ssa/common.rs @@ -1,14 +1,14 @@ #![allow(non_camel_case_types, non_snake_case)] -use rustc::ty::{Ty, TyCtxt}; use rustc_errors::struct_span_err; +use rustc_middle::ty::{Ty, TyCtxt}; use rustc_session::Session; use rustc_span::Span; use crate::base; use crate::traits::*; -use rustc::middle::lang_items::LangItem; use rustc_hir::def_id::DefId; +use rustc_middle::middle::lang_items::LangItem; use crate::traits::BuilderMethods; use rustc_hir as hir; diff --git a/src/librustc_codegen_ssa/debuginfo/type_names.rs b/src/librustc_codegen_ssa/debuginfo/type_names.rs index 8dd35208bf69a..6c0e4128e30f5 100644 --- a/src/librustc_codegen_ssa/debuginfo/type_names.rs +++ b/src/librustc_codegen_ssa/debuginfo/type_names.rs @@ -1,9 +1,9 @@ // Type Names for Debug Info. -use rustc::ty::{self, subst::SubstsRef, Ty, TyCtxt}; use rustc_data_structures::fx::FxHashSet; use rustc_hir as hir; use rustc_hir::def_id::DefId; +use rustc_middle::ty::{self, subst::SubstsRef, Ty, TyCtxt}; // Compute the name of the type as it should be stored in debuginfo. Does not do // any caching, i.e., calling the function twice with the same type will also do diff --git a/src/librustc_codegen_ssa/glue.rs b/src/librustc_codegen_ssa/glue.rs index a43e84272868c..5b086bc43ff35 100644 --- a/src/librustc_codegen_ssa/glue.rs +++ b/src/librustc_codegen_ssa/glue.rs @@ -5,7 +5,7 @@ use crate::common::IntPredicate; use crate::meth; use crate::traits::*; -use rustc::ty::{self, Ty}; +use rustc_middle::ty::{self, Ty}; pub fn size_and_align_of_dst<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>>( bx: &mut Bx, diff --git a/src/librustc_codegen_ssa/lib.rs b/src/librustc_codegen_ssa/lib.rs index d2afbdc23e1fd..bf2f92a473fe8 100644 --- a/src/librustc_codegen_ssa/lib.rs +++ b/src/librustc_codegen_ssa/lib.rs @@ -15,17 +15,17 @@ #[macro_use] extern crate log; #[macro_use] -extern crate rustc; +extern crate rustc_middle; -use rustc::dep_graph::WorkProduct; -use rustc::middle::cstore::{CrateSource, LibSource, NativeLibrary}; -use rustc::middle::dependency_format::Dependencies; -use rustc::middle::lang_items::LangItem; -use rustc::ty::query::Providers; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_data_structures::svh::Svh; use rustc_data_structures::sync::Lrc; use rustc_hir::def_id::CrateNum; +use rustc_middle::dep_graph::WorkProduct; +use rustc_middle::middle::cstore::{CrateSource, LibSource, NativeLibrary}; +use rustc_middle::middle::dependency_format::Dependencies; +use rustc_middle::middle::lang_items::LangItem; +use rustc_middle::ty::query::Providers; use rustc_session::config::{OutputFilenames, OutputType, RUST_CGU_EXT}; use rustc_span::symbol::Symbol; use std::path::{Path, PathBuf}; @@ -144,7 +144,7 @@ pub struct CodegenResults { pub allocator_module: Option, pub metadata_module: Option, pub crate_hash: Svh, - pub metadata: rustc::middle::cstore::EncodedMetadata, + pub metadata: rustc_middle::middle::cstore::EncodedMetadata, pub windows_subsystem: Option, pub linker_info: back::linker::LinkerInfo, pub crate_info: CrateInfo, diff --git a/src/librustc_codegen_ssa/meth.rs b/src/librustc_codegen_ssa/meth.rs index c36ef9b480cf0..199dd8c7df42f 100644 --- a/src/librustc_codegen_ssa/meth.rs +++ b/src/librustc_codegen_ssa/meth.rs @@ -1,6 +1,6 @@ use crate::traits::*; -use rustc::ty::{self, Instance, Ty}; +use rustc_middle::ty::{self, Instance, Ty}; use rustc_target::abi::call::FnAbi; #[derive(Copy, Clone, Debug)] diff --git a/src/librustc_codegen_ssa/mir/analyze.rs b/src/librustc_codegen_ssa/mir/analyze.rs index 5cbeea82512a3..ec3de274b8a83 100644 --- a/src/librustc_codegen_ssa/mir/analyze.rs +++ b/src/librustc_codegen_ssa/mir/analyze.rs @@ -3,16 +3,16 @@ use super::FunctionCx; use crate::traits::*; -use rustc::mir::traversal; -use rustc::mir::visit::{ - MutatingUseContext, NonMutatingUseContext, NonUseContext, PlaceContext, Visitor, -}; -use rustc::mir::{self, Location, TerminatorKind}; -use rustc::ty; -use rustc::ty::layout::{HasTyCtxt, LayoutOf}; use rustc_data_structures::graph::dominators::Dominators; use rustc_index::bit_set::BitSet; use rustc_index::vec::{Idx, IndexVec}; +use rustc_middle::mir::traversal; +use rustc_middle::mir::visit::{ + MutatingUseContext, NonMutatingUseContext, NonUseContext, PlaceContext, Visitor, +}; +use rustc_middle::mir::{self, Location, TerminatorKind}; +use rustc_middle::ty; +use rustc_middle::ty::layout::{HasTyCtxt, LayoutOf}; pub fn non_ssa_locals<'a, 'tcx, Bx: BuilderMethods<'a, 'tcx>>( fx: &FunctionCx<'a, 'tcx, Bx>, diff --git a/src/librustc_codegen_ssa/mir/block.rs b/src/librustc_codegen_ssa/mir/block.rs index 8433f79302077..e71a63b7f3080 100644 --- a/src/librustc_codegen_ssa/mir/block.rs +++ b/src/librustc_codegen_ssa/mir/block.rs @@ -9,12 +9,12 @@ use crate::meth; use crate::traits::*; use crate::MemFlags; -use rustc::middle::lang_items; -use rustc::mir; -use rustc::mir::AssertKind; -use rustc::ty::layout::{self, FnAbiExt, HasTyCtxt, LayoutOf}; -use rustc::ty::{self, Instance, Ty, TypeFoldable}; use rustc_index::vec::Idx; +use rustc_middle::middle::lang_items; +use rustc_middle::mir; +use rustc_middle::mir::AssertKind; +use rustc_middle::ty::layout::{self, FnAbiExt, HasTyCtxt, LayoutOf}; +use rustc_middle::ty::{self, Instance, Ty, TypeFoldable}; use rustc_span::{source_map::Span, symbol::Symbol}; use rustc_target::abi::call::{ArgAbi, FnAbi, PassMode}; use rustc_target::spec::abi::Abi; diff --git a/src/librustc_codegen_ssa/mir/constant.rs b/src/librustc_codegen_ssa/mir/constant.rs index 74a9646a0c0af..9770d04aa99dd 100644 --- a/src/librustc_codegen_ssa/mir/constant.rs +++ b/src/librustc_codegen_ssa/mir/constant.rs @@ -1,10 +1,10 @@ use crate::mir::operand::OperandRef; use crate::traits::*; -use rustc::mir; -use rustc::mir::interpret::{ConstValue, ErrorHandled}; -use rustc::ty::layout::{self, HasTyCtxt}; -use rustc::ty::{self, Ty}; use rustc_index::vec::Idx; +use rustc_middle::mir; +use rustc_middle::mir::interpret::{ConstValue, ErrorHandled}; +use rustc_middle::ty::layout::{self, HasTyCtxt}; +use rustc_middle::ty::{self, Ty}; use rustc_span::source_map::Span; use super::FunctionCx; diff --git a/src/librustc_codegen_ssa/mir/debuginfo.rs b/src/librustc_codegen_ssa/mir/debuginfo.rs index cbe5f51115246..4eefb37ba0d42 100644 --- a/src/librustc_codegen_ssa/mir/debuginfo.rs +++ b/src/librustc_codegen_ssa/mir/debuginfo.rs @@ -1,9 +1,9 @@ use crate::traits::*; -use rustc::mir; -use rustc::ty; -use rustc::ty::layout::{LayoutOf, Size}; use rustc_hir::def_id::CrateNum; use rustc_index::vec::IndexVec; +use rustc_middle::mir; +use rustc_middle::ty; +use rustc_middle::ty::layout::{LayoutOf, Size}; use rustc_session::config::DebugInfo; use rustc_span::symbol::{kw, Symbol}; diff --git a/src/librustc_codegen_ssa/mir/mod.rs b/src/librustc_codegen_ssa/mir/mod.rs index b94a87a8e43e2..fd20cf5404c66 100644 --- a/src/librustc_codegen_ssa/mir/mod.rs +++ b/src/librustc_codegen_ssa/mir/mod.rs @@ -1,8 +1,8 @@ use crate::base; use crate::traits::*; -use rustc::mir; -use rustc::ty::layout::{FnAbiExt, HasTyCtxt, TyAndLayout}; -use rustc::ty::{self, Instance, Ty, TypeFoldable}; +use rustc_middle::mir; +use rustc_middle::ty::layout::{FnAbiExt, HasTyCtxt, TyAndLayout}; +use rustc_middle::ty::{self, Instance, Ty, TypeFoldable}; use rustc_target::abi::call::{FnAbi, PassMode}; use std::iter; @@ -13,7 +13,7 @@ use rustc_index::vec::IndexVec; use self::analyze::CleanupKind; use self::debuginfo::{FunctionDebugContext, PerLocalVarDebugInfo}; use self::place::PlaceRef; -use rustc::mir::traversal; +use rustc_middle::mir::traversal; use self::operand::{OperandRef, OperandValue}; diff --git a/src/librustc_codegen_ssa/mir/operand.rs b/src/librustc_codegen_ssa/mir/operand.rs index 3e6bdb3b80b81..7545882a0eacb 100644 --- a/src/librustc_codegen_ssa/mir/operand.rs +++ b/src/librustc_codegen_ssa/mir/operand.rs @@ -6,10 +6,10 @@ use crate::glue; use crate::traits::*; use crate::MemFlags; -use rustc::mir; -use rustc::mir::interpret::{ConstValue, ErrorHandled, Pointer, Scalar}; -use rustc::ty::layout::{self, Align, LayoutOf, Size, TyAndLayout}; -use rustc::ty::Ty; +use rustc_middle::mir; +use rustc_middle::mir::interpret::{ConstValue, ErrorHandled, Pointer, Scalar}; +use rustc_middle::ty::layout::{self, Align, LayoutOf, Size, TyAndLayout}; +use rustc_middle::ty::Ty; use std::fmt; diff --git a/src/librustc_codegen_ssa/mir/place.rs b/src/librustc_codegen_ssa/mir/place.rs index 5607250fe4b41..1237e70aa36f1 100644 --- a/src/librustc_codegen_ssa/mir/place.rs +++ b/src/librustc_codegen_ssa/mir/place.rs @@ -6,10 +6,10 @@ use crate::glue; use crate::traits::*; use crate::MemFlags; -use rustc::mir; -use rustc::mir::tcx::PlaceTy; -use rustc::ty::layout::{self, Align, HasTyCtxt, LayoutOf, TyAndLayout, VariantIdx}; -use rustc::ty::{self, Ty}; +use rustc_middle::mir; +use rustc_middle::mir::tcx::PlaceTy; +use rustc_middle::ty::layout::{self, Align, HasTyCtxt, LayoutOf, TyAndLayout, VariantIdx}; +use rustc_middle::ty::{self, Ty}; #[derive(Copy, Clone, Debug)] pub struct PlaceRef<'tcx, V> { diff --git a/src/librustc_codegen_ssa/mir/rvalue.rs b/src/librustc_codegen_ssa/mir/rvalue.rs index 880bce7fde487..66ce50c482a6f 100644 --- a/src/librustc_codegen_ssa/mir/rvalue.rs +++ b/src/librustc_codegen_ssa/mir/rvalue.rs @@ -7,12 +7,12 @@ use crate::common::{self, IntPredicate, RealPredicate}; use crate::traits::*; use crate::MemFlags; -use rustc::middle::lang_items::ExchangeMallocFnLangItem; -use rustc::mir; -use rustc::ty::cast::{CastTy, IntTy}; -use rustc::ty::layout::{self, HasTyCtxt, LayoutOf}; -use rustc::ty::{self, adjustment::PointerCast, Instance, Ty, TyCtxt}; use rustc_apfloat::{ieee, Float, Round, Status}; +use rustc_middle::middle::lang_items::ExchangeMallocFnLangItem; +use rustc_middle::mir; +use rustc_middle::ty::cast::{CastTy, IntTy}; +use rustc_middle::ty::layout::{self, HasTyCtxt, LayoutOf}; +use rustc_middle::ty::{self, adjustment::PointerCast, Instance, Ty, TyCtxt}; use rustc_span::source_map::{Span, DUMMY_SP}; use rustc_span::symbol::sym; diff --git a/src/librustc_codegen_ssa/mir/statement.rs b/src/librustc_codegen_ssa/mir/statement.rs index 5edd9b9f0a05d..ddd7447406c48 100644 --- a/src/librustc_codegen_ssa/mir/statement.rs +++ b/src/librustc_codegen_ssa/mir/statement.rs @@ -1,5 +1,5 @@ -use rustc::mir; use rustc_errors::struct_span_err; +use rustc_middle::mir; use super::FunctionCx; use super::LocalRef; diff --git a/src/librustc_codegen_ssa/mono_item.rs b/src/librustc_codegen_ssa/mono_item.rs index ae211cad62de4..5994ef2be5467 100644 --- a/src/librustc_codegen_ssa/mono_item.rs +++ b/src/librustc_codegen_ssa/mono_item.rs @@ -1,10 +1,10 @@ use crate::base; use crate::traits::*; -use rustc::mir::mono::{Linkage, Visibility}; -use rustc::ty::layout::HasTyCtxt; use rustc_hir as hir; +use rustc_middle::mir::mono::{Linkage, Visibility}; +use rustc_middle::ty::layout::HasTyCtxt; -use rustc::mir::mono::MonoItem; +use rustc_middle::mir::mono::MonoItem; pub trait MonoItemExt<'a, 'tcx> { fn define>(&self, cx: &'a Bx::CodegenCx); diff --git a/src/librustc_codegen_ssa/traits/abi.rs b/src/librustc_codegen_ssa/traits/abi.rs index c564552fcb438..dd8495850bd54 100644 --- a/src/librustc_codegen_ssa/traits/abi.rs +++ b/src/librustc_codegen_ssa/traits/abi.rs @@ -1,5 +1,5 @@ use super::BackendTypes; -use rustc::ty::Ty; +use rustc_middle::ty::Ty; use rustc_target::abi::call::FnAbi; pub trait AbiBuilderMethods<'tcx>: BackendTypes { diff --git a/src/librustc_codegen_ssa/traits/backend.rs b/src/librustc_codegen_ssa/traits/backend.rs index 755f988cc0717..1474edd8aa09a 100644 --- a/src/librustc_codegen_ssa/traits/backend.rs +++ b/src/librustc_codegen_ssa/traits/backend.rs @@ -2,13 +2,13 @@ use super::write::WriteBackendMethods; use super::CodegenObject; use crate::ModuleCodegen; -use rustc::dep_graph::DepGraph; -use rustc::middle::cstore::{EncodedMetadata, MetadataLoaderDyn}; -use rustc::ty::layout::{HasTyCtxt, LayoutOf, TyAndLayout}; -use rustc::ty::query::Providers; -use rustc::ty::{Ty, TyCtxt}; -use rustc::util::common::ErrorReported; use rustc_ast::expand::allocator::AllocatorKind; +use rustc_middle::dep_graph::DepGraph; +use rustc_middle::middle::cstore::{EncodedMetadata, MetadataLoaderDyn}; +use rustc_middle::ty::layout::{HasTyCtxt, LayoutOf, TyAndLayout}; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::{Ty, TyCtxt}; +use rustc_middle::util::common::ErrorReported; use rustc_session::{ config::{self, OutputFilenames, PrintRequest}, Session, diff --git a/src/librustc_codegen_ssa/traits/builder.rs b/src/librustc_codegen_ssa/traits/builder.rs index b3c830eef8698..d59ea387b86ba 100644 --- a/src/librustc_codegen_ssa/traits/builder.rs +++ b/src/librustc_codegen_ssa/traits/builder.rs @@ -12,8 +12,8 @@ use crate::mir::operand::OperandRef; use crate::mir::place::PlaceRef; use crate::MemFlags; -use rustc::ty::layout::{Align, HasParamEnv, Size}; -use rustc::ty::Ty; +use rustc_middle::ty::layout::{Align, HasParamEnv, Size}; +use rustc_middle::ty::Ty; use rustc_target::spec::HasTargetSpec; use std::iter::TrustedLen; diff --git a/src/librustc_codegen_ssa/traits/consts.rs b/src/librustc_codegen_ssa/traits/consts.rs index 7fbcb8874de78..e5e1aa658e62e 100644 --- a/src/librustc_codegen_ssa/traits/consts.rs +++ b/src/librustc_codegen_ssa/traits/consts.rs @@ -1,8 +1,8 @@ use super::BackendTypes; use crate::mir::place::PlaceRef; -use rustc::mir::interpret::Allocation; -use rustc::mir::interpret::Scalar; -use rustc::ty::layout; +use rustc_middle::mir::interpret::Allocation; +use rustc_middle::mir::interpret::Scalar; +use rustc_middle::ty::layout; use rustc_span::Symbol; pub trait ConstMethods<'tcx>: BackendTypes { diff --git a/src/librustc_codegen_ssa/traits/debuginfo.rs b/src/librustc_codegen_ssa/traits/debuginfo.rs index 14c5a1b8ee9b3..4e84c096822ef 100644 --- a/src/librustc_codegen_ssa/traits/debuginfo.rs +++ b/src/librustc_codegen_ssa/traits/debuginfo.rs @@ -1,10 +1,10 @@ use super::BackendTypes; use crate::mir::debuginfo::{FunctionDebugContext, VariableKind}; -use rustc::mir; -use rustc::ty::layout::Size; -use rustc::ty::{Instance, Ty}; use rustc_ast::ast::Name; use rustc_hir::def_id::CrateNum; +use rustc_middle::mir; +use rustc_middle::ty::layout::Size; +use rustc_middle::ty::{Instance, Ty}; use rustc_span::{SourceFile, Span}; use rustc_target::abi::call::FnAbi; diff --git a/src/librustc_codegen_ssa/traits/declare.rs b/src/librustc_codegen_ssa/traits/declare.rs index c2ab5f50c6f7e..de63ef7961387 100644 --- a/src/librustc_codegen_ssa/traits/declare.rs +++ b/src/librustc_codegen_ssa/traits/declare.rs @@ -1,7 +1,7 @@ use super::BackendTypes; -use rustc::mir::mono::{Linkage, Visibility}; -use rustc::ty::{Instance, Ty}; use rustc_hir::def_id::DefId; +use rustc_middle::mir::mono::{Linkage, Visibility}; +use rustc_middle::ty::{Instance, Ty}; use rustc_target::abi::call::FnAbi; pub trait DeclareMethods<'tcx>: BackendTypes { diff --git a/src/librustc_codegen_ssa/traits/intrinsic.rs b/src/librustc_codegen_ssa/traits/intrinsic.rs index 482a76932ae42..9d48e233de655 100644 --- a/src/librustc_codegen_ssa/traits/intrinsic.rs +++ b/src/librustc_codegen_ssa/traits/intrinsic.rs @@ -1,6 +1,6 @@ use super::BackendTypes; use crate::mir::operand::OperandRef; -use rustc::ty::{self, Ty}; +use rustc_middle::ty::{self, Ty}; use rustc_span::Span; use rustc_target::abi::call::FnAbi; diff --git a/src/librustc_codegen_ssa/traits/misc.rs b/src/librustc_codegen_ssa/traits/misc.rs index 6863b474cb6de..beff9eae85929 100644 --- a/src/librustc_codegen_ssa/traits/misc.rs +++ b/src/librustc_codegen_ssa/traits/misc.rs @@ -1,7 +1,7 @@ use super::BackendTypes; -use rustc::mir::mono::CodegenUnit; -use rustc::ty::{self, Instance, Ty}; use rustc_data_structures::fx::FxHashMap; +use rustc_middle::mir::mono::CodegenUnit; +use rustc_middle::ty::{self, Instance, Ty}; use rustc_session::Session; use std::cell::RefCell; use std::sync::Arc; diff --git a/src/librustc_codegen_ssa/traits/mod.rs b/src/librustc_codegen_ssa/traits/mod.rs index 1bc9f297ea1b1..f4c09a33285bd 100644 --- a/src/librustc_codegen_ssa/traits/mod.rs +++ b/src/librustc_codegen_ssa/traits/mod.rs @@ -42,7 +42,7 @@ pub use self::type_::{ }; pub use self::write::{ModuleBufferMethods, ThinBufferMethods, WriteBackendMethods}; -use rustc::ty::layout::{HasParamEnv, HasTyCtxt}; +use rustc_middle::ty::layout::{HasParamEnv, HasTyCtxt}; use rustc_target::spec::HasTargetSpec; use std::fmt; diff --git a/src/librustc_codegen_ssa/traits/statics.rs b/src/librustc_codegen_ssa/traits/statics.rs index 40c9dde98c628..50df08614345f 100644 --- a/src/librustc_codegen_ssa/traits/statics.rs +++ b/src/librustc_codegen_ssa/traits/statics.rs @@ -1,6 +1,6 @@ use super::BackendTypes; -use rustc::ty::layout::Align; use rustc_hir::def_id::DefId; +use rustc_middle::ty::layout::Align; pub trait StaticMethods: BackendTypes { fn static_addr_of(&self, cv: Self::Value, align: Align, kind: Option<&str>) -> Self::Value; diff --git a/src/librustc_codegen_ssa/traits/type_.rs b/src/librustc_codegen_ssa/traits/type_.rs index 39274921ed2d9..383be6dfcb5ea 100644 --- a/src/librustc_codegen_ssa/traits/type_.rs +++ b/src/librustc_codegen_ssa/traits/type_.rs @@ -3,8 +3,8 @@ use super::Backend; use super::HasCodegen; use crate::common::TypeKind; use crate::mir::place::PlaceRef; -use rustc::ty::layout::{self, TyAndLayout}; -use rustc::ty::{self, Ty}; +use rustc_middle::ty::layout::{self, TyAndLayout}; +use rustc_middle::ty::{self, Ty}; use rustc_span::DUMMY_SP; use rustc_target::abi::call::{ArgAbi, CastTarget, FnAbi, Reg}; @@ -54,7 +54,7 @@ pub trait DerivedTypeMethods<'tcx>: BaseTypeMethods<'tcx> + MiscMethods<'tcx> { } fn type_from_integer(&self, i: layout::Integer) -> Self::Type { - use rustc::ty::layout::Integer::*; + use rustc_middle::ty::layout::Integer::*; match i { I8 => self.type_i8(), I16 => self.type_i16(), diff --git a/src/librustc_codegen_ssa/traits/write.rs b/src/librustc_codegen_ssa/traits/write.rs index 382dc14e789ce..27d52e9b9c53e 100644 --- a/src/librustc_codegen_ssa/traits/write.rs +++ b/src/librustc_codegen_ssa/traits/write.rs @@ -2,8 +2,8 @@ use crate::back::lto::{LtoModuleCodegen, SerializedModule, ThinModule}; use crate::back::write::{CodegenContext, FatLTOInput, ModuleConfig}; use crate::{CompiledModule, ModuleCodegen}; -use rustc::dep_graph::WorkProduct; use rustc_errors::{FatalError, Handler}; +use rustc_middle::dep_graph::WorkProduct; pub trait WriteBackendMethods: 'static + Sized + Clone { type Module: Send + Sync; diff --git a/src/librustc_data_structures/lib.rs b/src/librustc_data_structures/lib.rs index f9f8ff5303e10..ba82e58d7a92e 100644 --- a/src/librustc_data_structures/lib.rs +++ b/src/librustc_data_structures/lib.rs @@ -114,6 +114,6 @@ impl Drop for OnDrop { } } -// See comments in src/librustc/lib.rs +// See comments in src/librustc_middle/lib.rs #[doc(hidden)] pub fn __noop_fix_for_27438() {} diff --git a/src/librustc_driver/Cargo.toml b/src/librustc_driver/Cargo.toml index 3ca39b24c5276..652f16c2e0828 100644 --- a/src/librustc_driver/Cargo.toml +++ b/src/librustc_driver/Cargo.toml @@ -13,7 +13,7 @@ crate-type = ["dylib"] lazy_static = "1.0" log = "0.4" env_logger = { version = "0.7", default-features = false } -rustc = { path = "../librustc" } +rustc_middle = { path = "../librustc_middle" } rustc_ast_pretty = { path = "../librustc_ast_pretty" } rustc_target = { path = "../librustc_target" } rustc_lint = { path = "../librustc_lint" } diff --git a/src/librustc_driver/lib.rs b/src/librustc_driver/lib.rs index 9097a72f36f49..8f8c2eae6e27d 100644 --- a/src/librustc_driver/lib.rs +++ b/src/librustc_driver/lib.rs @@ -18,9 +18,6 @@ extern crate lazy_static; pub extern crate rustc_plugin_impl as plugin; -use rustc::middle::cstore::MetadataLoader; -use rustc::ty::TyCtxt; -use rustc::util::common::ErrorReported; use rustc_ast::ast; use rustc_codegen_ssa::{traits::CodegenBackend, CodegenResults}; use rustc_data_structures::profiling::print_time_passes_entry; @@ -35,6 +32,9 @@ use rustc_interface::util::{collect_crate_types, get_builtin_codegen_backend}; use rustc_interface::{interface, Queries}; use rustc_lint::LintStore; use rustc_metadata::locator; +use rustc_middle::middle::cstore::MetadataLoader; +use rustc_middle::ty::TyCtxt; +use rustc_middle::util::common::ErrorReported; use rustc_save_analysis as save; use rustc_save_analysis::DumpHandler; use rustc_serialize::json::{self, ToJson}; diff --git a/src/librustc_driver/pretty.rs b/src/librustc_driver/pretty.rs index a57a70e6b8ca7..2319760204a9e 100644 --- a/src/librustc_driver/pretty.rs +++ b/src/librustc_driver/pretty.rs @@ -1,13 +1,13 @@ //! The various pretty-printing routines. -use rustc::hir::map as hir_map; -use rustc::ty::{self, TyCtxt}; -use rustc::util::common::ErrorReported; use rustc_ast::ast; use rustc_ast_pretty::pprust; use rustc_hir as hir; use rustc_hir::def_id::LOCAL_CRATE; use rustc_hir_pretty as pprust_hir; +use rustc_middle::hir::map as hir_map; +use rustc_middle::ty::{self, TyCtxt}; +use rustc_middle::util::common::ErrorReported; use rustc_mir::util::{write_mir_graphviz, write_mir_pretty}; use rustc_session::config::{Input, PpMode, PpSourceMode}; use rustc_session::Session; diff --git a/src/librustc_error_codes/error_codes/E0264.md b/src/librustc_error_codes/error_codes/E0264.md index 708eac8837a7c..e2a27f7b10672 100644 --- a/src/librustc_error_codes/error_codes/E0264.md +++ b/src/librustc_error_codes/error_codes/E0264.md @@ -12,7 +12,7 @@ extern "C" { ``` A list of available external lang items is available in -`src/librustc/middle/weak_lang_items.rs`. Example: +`src/librustc_middle/middle/weak_lang_items.rs`. Example: ``` #![feature(lang_items)] diff --git a/src/librustc_errors/lib.rs b/src/librustc_errors/lib.rs index 6157c46f80cf9..204fea58c955f 100644 --- a/src/librustc_errors/lib.rs +++ b/src/librustc_errors/lib.rs @@ -425,7 +425,7 @@ impl Handler { } // This is here to not allow mutation of flags; - // as of this writing it's only used in tests in librustc. + // as of this writing it's only used in tests in librustc_middle. pub fn can_emit_warnings(&self) -> bool { self.flags.can_emit_warnings } diff --git a/src/librustc_hir/intravisit.rs b/src/librustc_hir/intravisit.rs index 5a763e4161b1e..c8f3edcbda0d9 100644 --- a/src/librustc_hir/intravisit.rs +++ b/src/librustc_hir/intravisit.rs @@ -119,7 +119,7 @@ impl<'a> FnKind<'a> { } } -/// An abstract representation of the HIR `rustc::hir::map::Map`. +/// An abstract representation of the HIR `rustc_middle::hir::map::Map`. pub trait Map<'hir> { /// Retrieves the `Node` corresponding to `id`, returning `None` if cannot be found. fn find(&self, hir_id: HirId) -> Option>; diff --git a/src/librustc_hir/stable_hash_impls.rs b/src/librustc_hir/stable_hash_impls.rs index 996b310896904..1d3f44a08993a 100644 --- a/src/librustc_hir/stable_hash_impls.rs +++ b/src/librustc_hir/stable_hash_impls.rs @@ -9,7 +9,7 @@ use rustc_span::def_id::{DefPathHash, LocalDefId}; /// Requirements for a `StableHashingContext` to be used in this crate. /// This is a hack to allow using the `HashStable_Generic` derive macro -/// instead of implementing everything in librustc. +/// instead of implementing everything in librustc_middle. pub trait HashStableContext: rustc_ast::HashStableContext + rustc_target::HashStableContext { diff --git a/src/librustc_incremental/Cargo.toml b/src/librustc_incremental/Cargo.toml index eddfb81ea8b0a..5caf1d411e637 100644 --- a/src/librustc_incremental/Cargo.toml +++ b/src/librustc_incremental/Cargo.toml @@ -13,7 +13,7 @@ doctest = false graphviz = { path = "../libgraphviz" } log = "0.4" rand = "0.7" -rustc = { path = "../librustc" } +rustc_middle = { path = "../librustc_middle" } rustc_data_structures = { path = "../librustc_data_structures" } rustc_hir = { path = "../librustc_hir" } rustc_serialize = { path = "../libserialize", package = "serialize" } diff --git a/src/librustc_incremental/assert_dep_graph.rs b/src/librustc_incremental/assert_dep_graph.rs index 305e0fcc383ad..5135820ac507f 100644 --- a/src/librustc_incremental/assert_dep_graph.rs +++ b/src/librustc_incremental/assert_dep_graph.rs @@ -34,16 +34,16 @@ //! ``` use graphviz as dot; -use rustc::dep_graph::debug::{DepNodeFilter, EdgeFilter}; -use rustc::dep_graph::{DepGraphQuery, DepKind, DepNode, DepNodeExt}; -use rustc::hir::map::Map; -use rustc::ty::TyCtxt; use rustc_ast::ast; use rustc_data_structures::fx::FxHashSet; use rustc_data_structures::graph::implementation::{Direction, NodeIndex, INCOMING, OUTGOING}; use rustc_hir as hir; use rustc_hir::def_id::DefId; use rustc_hir::intravisit::{self, NestedVisitorMap, Visitor}; +use rustc_middle::dep_graph::debug::{DepNodeFilter, EdgeFilter}; +use rustc_middle::dep_graph::{DepGraphQuery, DepKind, DepNode, DepNodeExt}; +use rustc_middle::hir::map::Map; +use rustc_middle::ty::TyCtxt; use rustc_span::symbol::sym; use rustc_span::Span; diff --git a/src/librustc_incremental/assert_module_sources.rs b/src/librustc_incremental/assert_module_sources.rs index c5446116f4c50..856edb3725a93 100644 --- a/src/librustc_incremental/assert_module_sources.rs +++ b/src/librustc_incremental/assert_module_sources.rs @@ -21,10 +21,10 @@ //! allows for doing a more fine-grained check to see if pre- or post-lto data //! was re-used. -use rustc::mir::mono::CodegenUnitNameBuilder; -use rustc::ty::TyCtxt; use rustc_ast::ast; use rustc_hir::def_id::LOCAL_CRATE; +use rustc_middle::mir::mono::CodegenUnitNameBuilder; +use rustc_middle::ty::TyCtxt; use rustc_session::cgu_reuse_tracker::*; use rustc_span::symbol::{sym, Symbol}; use std::collections::BTreeSet; diff --git a/src/librustc_incremental/lib.rs b/src/librustc_incremental/lib.rs index ca824fde7efc1..dd715c6c81d56 100644 --- a/src/librustc_incremental/lib.rs +++ b/src/librustc_incremental/lib.rs @@ -6,7 +6,7 @@ #![recursion_limit = "256"] #[macro_use] -extern crate rustc; +extern crate rustc_middle; #[macro_use] extern crate log; diff --git a/src/librustc_incremental/persist/data.rs b/src/librustc_incremental/persist/data.rs index 49b4bb061141c..ea0fd4eb7ee73 100644 --- a/src/librustc_incremental/persist/data.rs +++ b/src/librustc_incremental/persist/data.rs @@ -1,6 +1,6 @@ //! The data that we will serialize and deserialize. -use rustc::dep_graph::{WorkProduct, WorkProductId}; +use rustc_middle::dep_graph::{WorkProduct, WorkProductId}; #[derive(Debug, RustcEncodable, RustcDecodable)] pub struct SerializedWorkProduct { diff --git a/src/librustc_incremental/persist/dirty_clean.rs b/src/librustc_incremental/persist/dirty_clean.rs index 9ddd238afff2b..804d1744d6872 100644 --- a/src/librustc_incremental/persist/dirty_clean.rs +++ b/src/librustc_incremental/persist/dirty_clean.rs @@ -13,9 +13,6 @@ //! Errors are reported if we are in the suitable configuration but //! the required condition is not met. -use rustc::dep_graph::{label_strs, DepNode, DepNodeExt}; -use rustc::hir::map::Map; -use rustc::ty::TyCtxt; use rustc_ast::ast::{self, Attribute, NestedMetaItem}; use rustc_data_structures::fingerprint::Fingerprint; use rustc_data_structures::fx::FxHashSet; @@ -25,6 +22,9 @@ use rustc_hir::intravisit; use rustc_hir::itemlikevisit::ItemLikeVisitor; use rustc_hir::Node as HirNode; use rustc_hir::{ImplItemKind, ItemKind as HirItem, TraitItemKind}; +use rustc_middle::dep_graph::{label_strs, DepNode, DepNodeExt}; +use rustc_middle::hir::map::Map; +use rustc_middle::ty::TyCtxt; use rustc_span::symbol::{sym, Symbol}; use rustc_span::Span; use std::iter::FromIterator; @@ -306,7 +306,7 @@ impl DirtyCleanVisitor<'tcx> { // michaelwoerister and vitiral came up with a possible solution, // to just do this before every query // ``` - // ::rustc::ty::query::plumbing::force_from_dep_node(tcx, dep_node) + // ::rustc_middle::ty::query::plumbing::force_from_dep_node(tcx, dep_node) // ``` // // However, this did not seem to work effectively and more bugs were hit. diff --git a/src/librustc_incremental/persist/load.rs b/src/librustc_incremental/persist/load.rs index 537906eb87189..b75a428c62a09 100644 --- a/src/librustc_incremental/persist/load.rs +++ b/src/librustc_incremental/persist/load.rs @@ -1,9 +1,9 @@ //! Code to save/load the dep-graph from files. -use rustc::dep_graph::{PreviousDepGraph, SerializedDepGraph, WorkProduct, WorkProductId}; -use rustc::ty::query::OnDiskCache; -use rustc::ty::TyCtxt; use rustc_data_structures::fx::FxHashMap; +use rustc_middle::dep_graph::{PreviousDepGraph, SerializedDepGraph, WorkProduct, WorkProductId}; +use rustc_middle::ty::query::OnDiskCache; +use rustc_middle::ty::TyCtxt; use rustc_serialize::opaque::Decoder; use rustc_serialize::Decodable as RustcDecodable; use rustc_session::Session; diff --git a/src/librustc_incremental/persist/save.rs b/src/librustc_incremental/persist/save.rs index 17dbad5c8bb49..6d4ba45c2e6ed 100644 --- a/src/librustc_incremental/persist/save.rs +++ b/src/librustc_incremental/persist/save.rs @@ -1,7 +1,7 @@ -use rustc::dep_graph::{DepGraph, DepKind, WorkProduct, WorkProductId}; -use rustc::ty::TyCtxt; use rustc_data_structures::fx::FxHashMap; use rustc_data_structures::sync::join; +use rustc_middle::dep_graph::{DepGraph, DepKind, WorkProduct, WorkProductId}; +use rustc_middle::ty::TyCtxt; use rustc_serialize::opaque::Encoder; use rustc_serialize::Encodable as RustcEncodable; use rustc_session::Session; diff --git a/src/librustc_incremental/persist/work_product.rs b/src/librustc_incremental/persist/work_product.rs index aa3588b284b28..4dd81b1df5759 100644 --- a/src/librustc_incremental/persist/work_product.rs +++ b/src/librustc_incremental/persist/work_product.rs @@ -1,8 +1,8 @@ //! This module contains files for saving intermediate work-products. use crate::persist::fs::*; -use rustc::dep_graph::{WorkProduct, WorkProductFileKind, WorkProductId}; use rustc_fs_util::link_or_copy; +use rustc_middle::dep_graph::{WorkProduct, WorkProductFileKind, WorkProductId}; use rustc_session::Session; use std::fs as std_fs; use std::path::PathBuf; diff --git a/src/librustc_infer/Cargo.toml b/src/librustc_infer/Cargo.toml index 9ecd056430c20..bc4080ac6c8de 100644 --- a/src/librustc_infer/Cargo.toml +++ b/src/librustc_infer/Cargo.toml @@ -12,7 +12,7 @@ doctest = false [dependencies] graphviz = { path = "../libgraphviz" } log = { version = "0.4", features = ["release_max_level_info", "std"] } -rustc = { path = "../librustc" } +rustc_middle = { path = "../librustc_middle" } rustc_data_structures = { path = "../librustc_data_structures" } rustc_errors = { path = "../librustc_errors" } rustc_hir = { path = "../librustc_hir" } diff --git a/src/librustc_infer/infer/at.rs b/src/librustc_infer/infer/at.rs index 04f5b03c0e15c..5c62a1298b97b 100644 --- a/src/librustc_infer/infer/at.rs +++ b/src/librustc_infer/infer/at.rs @@ -27,8 +27,8 @@ use super::*; -use rustc::ty::relate::{Relate, TypeRelation}; -use rustc::ty::Const; +use rustc_middle::ty::relate::{Relate, TypeRelation}; +use rustc_middle::ty::Const; pub struct At<'a, 'tcx> { pub infcx: &'a InferCtxt<'a, 'tcx>, diff --git a/src/librustc_infer/infer/canonical/canonicalizer.rs b/src/librustc_infer/infer/canonical/canonicalizer.rs index 4d9a81d440695..347a5ff6d56a4 100644 --- a/src/librustc_infer/infer/canonical/canonicalizer.rs +++ b/src/librustc_infer/infer/canonical/canonicalizer.rs @@ -10,10 +10,10 @@ use crate::infer::canonical::{ OriginalQueryValues, }; use crate::infer::InferCtxt; -use rustc::ty::flags::FlagComputation; -use rustc::ty::fold::{TypeFoldable, TypeFolder}; -use rustc::ty::subst::GenericArg; -use rustc::ty::{self, BoundVar, InferConst, List, Ty, TyCtxt, TypeFlags}; +use rustc_middle::ty::flags::FlagComputation; +use rustc_middle::ty::fold::{TypeFoldable, TypeFolder}; +use rustc_middle::ty::subst::GenericArg; +use rustc_middle::ty::{self, BoundVar, InferConst, List, Ty, TyCtxt, TypeFlags}; use std::sync::atomic::Ordering; use rustc_data_structures::fx::FxHashMap; diff --git a/src/librustc_infer/infer/canonical/mod.rs b/src/librustc_infer/infer/canonical/mod.rs index 0e9593e8ea6b0..b7890cf9e925a 100644 --- a/src/librustc_infer/infer/canonical/mod.rs +++ b/src/librustc_infer/infer/canonical/mod.rs @@ -23,13 +23,13 @@ use crate::infer::{ConstVariableOrigin, ConstVariableOriginKind}; use crate::infer::{InferCtxt, RegionVariableOrigin, TypeVariableOrigin, TypeVariableOriginKind}; -use rustc::ty::fold::TypeFoldable; -use rustc::ty::subst::GenericArg; -use rustc::ty::{self, BoundVar, List}; use rustc_index::vec::IndexVec; +use rustc_middle::ty::fold::TypeFoldable; +use rustc_middle::ty::subst::GenericArg; +use rustc_middle::ty::{self, BoundVar, List}; use rustc_span::source_map::Span; -pub use rustc::infer::canonical::*; +pub use rustc_middle::infer::canonical::*; use substitute::CanonicalExt; mod canonicalizer; diff --git a/src/librustc_infer/infer/canonical/query_response.rs b/src/librustc_infer/infer/canonical/query_response.rs index 9322df4823511..79a0a5076241f 100644 --- a/src/librustc_infer/infer/canonical/query_response.rs +++ b/src/librustc_infer/infer/canonical/query_response.rs @@ -18,14 +18,14 @@ use crate::infer::{InferCtxt, InferOk, InferResult, NLLRegionVariableOrigin}; use crate::traits::query::{Fallible, NoSolution}; use crate::traits::{DomainGoal, TraitEngine}; use crate::traits::{Obligation, ObligationCause, PredicateObligation}; -use rustc::arena::ArenaAllocatable; -use rustc::ty::fold::TypeFoldable; -use rustc::ty::relate::TypeRelation; -use rustc::ty::subst::{GenericArg, GenericArgKind}; -use rustc::ty::{self, BoundVar, Ty, TyCtxt}; use rustc_data_structures::captures::Captures; use rustc_index::vec::Idx; use rustc_index::vec::IndexVec; +use rustc_middle::arena::ArenaAllocatable; +use rustc_middle::ty::fold::TypeFoldable; +use rustc_middle::ty::relate::TypeRelation; +use rustc_middle::ty::subst::{GenericArg, GenericArgKind}; +use rustc_middle::ty::{self, BoundVar, Ty, TyCtxt}; use std::fmt::Debug; impl<'cx, 'tcx> InferCtxt<'cx, 'tcx> { diff --git a/src/librustc_infer/infer/canonical/substitute.rs b/src/librustc_infer/infer/canonical/substitute.rs index afef32c1ffebb..55609c080acc1 100644 --- a/src/librustc_infer/infer/canonical/substitute.rs +++ b/src/librustc_infer/infer/canonical/substitute.rs @@ -7,9 +7,9 @@ //! [c]: https://rustc-dev-guide.rust-lang.org/traits/canonicalization.html use crate::infer::canonical::{Canonical, CanonicalVarValues}; -use rustc::ty::fold::TypeFoldable; -use rustc::ty::subst::GenericArgKind; -use rustc::ty::{self, TyCtxt}; +use rustc_middle::ty::fold::TypeFoldable; +use rustc_middle::ty::subst::GenericArgKind; +use rustc_middle::ty::{self, TyCtxt}; pub(super) trait CanonicalExt<'tcx, V> { /// Instantiate the wrapped value, replacing each canonical value diff --git a/src/librustc_infer/infer/combine.rs b/src/librustc_infer/infer/combine.rs index 0f5d4d30a2385..c630f58abf985 100644 --- a/src/librustc_infer/infer/combine.rs +++ b/src/librustc_infer/infer/combine.rs @@ -34,13 +34,13 @@ use super::{InferCtxt, MiscVariable, TypeTrace}; use crate::traits::{Obligation, PredicateObligations}; -use rustc::ty::error::TypeError; -use rustc::ty::relate::{self, Relate, RelateResult, TypeRelation}; -use rustc::ty::subst::SubstsRef; -use rustc::ty::{self, InferConst, Ty, TyCtxt}; -use rustc::ty::{IntType, UintType}; use rustc_ast::ast; use rustc_hir::def_id::DefId; +use rustc_middle::ty::error::TypeError; +use rustc_middle::ty::relate::{self, Relate, RelateResult, TypeRelation}; +use rustc_middle::ty::subst::SubstsRef; +use rustc_middle::ty::{self, InferConst, Ty, TyCtxt}; +use rustc_middle::ty::{IntType, UintType}; use rustc_span::{Span, DUMMY_SP}; #[derive(Clone)] diff --git a/src/librustc_infer/infer/equate.rs b/src/librustc_infer/infer/equate.rs index 8f8fc4f137b73..e05094cda2762 100644 --- a/src/librustc_infer/infer/equate.rs +++ b/src/librustc_infer/infer/equate.rs @@ -1,10 +1,10 @@ use super::combine::{CombineFields, RelationDir}; use super::Subtype; -use rustc::ty::relate::{self, Relate, RelateResult, TypeRelation}; -use rustc::ty::subst::SubstsRef; -use rustc::ty::TyVar; -use rustc::ty::{self, Ty, TyCtxt}; +use rustc_middle::ty::relate::{self, Relate, RelateResult, TypeRelation}; +use rustc_middle::ty::subst::SubstsRef; +use rustc_middle::ty::TyVar; +use rustc_middle::ty::{self, Ty, TyCtxt}; use rustc_hir::def_id::DefId; diff --git a/src/librustc_infer/infer/error_reporting/mod.rs b/src/librustc_infer/infer/error_reporting/mod.rs index 129bc9e22a667..4ffdd94cca771 100644 --- a/src/librustc_infer/infer/error_reporting/mod.rs +++ b/src/librustc_infer/infer/error_reporting/mod.rs @@ -55,19 +55,19 @@ use crate::traits::{ IfExpressionCause, MatchExpressionArmCause, ObligationCause, ObligationCauseCode, }; -use rustc::middle::region; -use rustc::ty::error::TypeError; -use rustc::ty::{ - self, - subst::{Subst, SubstsRef}, - Region, Ty, TyCtxt, TypeFoldable, -}; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_errors::{pluralize, struct_span_err}; use rustc_errors::{Applicability, DiagnosticBuilder, DiagnosticStyledString}; use rustc_hir as hir; use rustc_hir::def_id::DefId; use rustc_hir::Node; +use rustc_middle::middle::region; +use rustc_middle::ty::error::TypeError; +use rustc_middle::ty::{ + self, + subst::{Subst, SubstsRef}, + Region, Ty, TyCtxt, TypeFoldable, +}; use rustc_span::{DesugaringKind, Pos, Span}; use rustc_target::spec::abi; use std::{cmp, fmt}; diff --git a/src/librustc_infer/infer/error_reporting/need_type_info.rs b/src/librustc_infer/infer/error_reporting/need_type_info.rs index fcbe938a8c7ac..7824855fe057c 100644 --- a/src/librustc_infer/infer/error_reporting/need_type_info.rs +++ b/src/librustc_infer/infer/error_reporting/need_type_info.rs @@ -1,13 +1,13 @@ use crate::infer::type_variable::TypeVariableOriginKind; use crate::infer::InferCtxt; -use rustc::hir::map::Map; -use rustc::ty::print::Print; -use rustc::ty::{self, DefIdTree, Infer, Ty, TyVar}; use rustc_errors::{pluralize, struct_span_err, Applicability, DiagnosticBuilder}; use rustc_hir as hir; use rustc_hir::def::{DefKind, Namespace}; use rustc_hir::intravisit::{self, NestedVisitorMap, Visitor}; use rustc_hir::{Body, Expr, ExprKind, FnRetTy, HirId, Local, Pat}; +use rustc_middle::hir::map::Map; +use rustc_middle::ty::print::Print; +use rustc_middle::ty::{self, DefIdTree, Infer, Ty, TyVar}; use rustc_span::source_map::DesugaringKind; use rustc_span::symbol::kw; use rustc_span::Span; diff --git a/src/librustc_infer/infer/error_reporting/nice_region_error/different_lifetimes.rs b/src/librustc_infer/infer/error_reporting/nice_region_error/different_lifetimes.rs index 689323ce48346..3836bd9afa8b6 100644 --- a/src/librustc_infer/infer/error_reporting/nice_region_error/different_lifetimes.rs +++ b/src/librustc_infer/infer/error_reporting/nice_region_error/different_lifetimes.rs @@ -5,7 +5,7 @@ use crate::infer::error_reporting::nice_region_error::util::AnonymousParamInfo; use crate::infer::error_reporting::nice_region_error::NiceRegionError; use crate::infer::lexical_region_resolve::RegionResolutionError; use crate::infer::SubregionOrigin; -use rustc::util::common::ErrorReported; +use rustc_middle::util::common::ErrorReported; use rustc_errors::struct_span_err; diff --git a/src/librustc_infer/infer/error_reporting/nice_region_error/find_anon_type.rs b/src/librustc_infer/infer/error_reporting/nice_region_error/find_anon_type.rs index 15acf632b2c98..53cab34cd3f17 100644 --- a/src/librustc_infer/infer/error_reporting/nice_region_error/find_anon_type.rs +++ b/src/librustc_infer/infer/error_reporting/nice_region_error/find_anon_type.rs @@ -1,10 +1,10 @@ use crate::infer::error_reporting::nice_region_error::NiceRegionError; -use rustc::hir::map::Map; -use rustc::middle::resolve_lifetime as rl; -use rustc::ty::{self, Region, TyCtxt}; use rustc_hir as hir; use rustc_hir::intravisit::{self, NestedVisitorMap, Visitor}; use rustc_hir::Node; +use rustc_middle::hir::map::Map; +use rustc_middle::middle::resolve_lifetime as rl; +use rustc_middle::ty::{self, Region, TyCtxt}; impl<'a, 'tcx> NiceRegionError<'a, 'tcx> { /// This function calls the `visit_ty` method for the parameters diff --git a/src/librustc_infer/infer/error_reporting/nice_region_error/mod.rs b/src/librustc_infer/infer/error_reporting/nice_region_error/mod.rs index 2357ee689d59e..4613c43ba07af 100644 --- a/src/librustc_infer/infer/error_reporting/nice_region_error/mod.rs +++ b/src/librustc_infer/infer/error_reporting/nice_region_error/mod.rs @@ -1,9 +1,9 @@ use crate::infer::lexical_region_resolve::RegionResolutionError; use crate::infer::lexical_region_resolve::RegionResolutionError::*; use crate::infer::InferCtxt; -use rustc::ty::{self, TyCtxt}; -use rustc::util::common::ErrorReported; use rustc_errors::DiagnosticBuilder; +use rustc_middle::ty::{self, TyCtxt}; +use rustc_middle::util::common::ErrorReported; use rustc_span::source_map::Span; mod different_lifetimes; diff --git a/src/librustc_infer/infer/error_reporting/nice_region_error/named_anon_conflict.rs b/src/librustc_infer/infer/error_reporting/nice_region_error/named_anon_conflict.rs index 02ce357967c18..b85a4cae2e470 100644 --- a/src/librustc_infer/infer/error_reporting/nice_region_error/named_anon_conflict.rs +++ b/src/librustc_infer/infer/error_reporting/nice_region_error/named_anon_conflict.rs @@ -1,9 +1,9 @@ //! Error Reporting for Anonymous Region Lifetime Errors //! where one region is named and the other is anonymous. use crate::infer::error_reporting::nice_region_error::NiceRegionError; -use rustc::ty; use rustc_errors::{struct_span_err, Applicability, DiagnosticBuilder}; use rustc_hir::{FnRetTy, TyKind}; +use rustc_middle::ty; impl<'a, 'tcx> NiceRegionError<'a, 'tcx> { /// When given a `ConcreteFailure` for a function with parameters containing a named region and diff --git a/src/librustc_infer/infer/error_reporting/nice_region_error/outlives_closure.rs b/src/librustc_infer/infer/error_reporting/nice_region_error/outlives_closure.rs index d88e6555af93e..028148b17db18 100644 --- a/src/librustc_infer/infer/error_reporting/nice_region_error/outlives_closure.rs +++ b/src/librustc_infer/infer/error_reporting/nice_region_error/outlives_closure.rs @@ -4,9 +4,9 @@ use crate::infer::error_reporting::nice_region_error::NiceRegionError; use crate::infer::lexical_region_resolve::RegionResolutionError::SubSupConflict; use crate::infer::SubregionOrigin; -use rustc::ty::RegionKind; -use rustc::util::common::ErrorReported; use rustc_hir::{Expr, ExprKind::Closure, Node}; +use rustc_middle::ty::RegionKind; +use rustc_middle::util::common::ErrorReported; impl<'a, 'tcx> NiceRegionError<'a, 'tcx> { /// Print the error message for lifetime errors when binding escapes a closure. diff --git a/src/librustc_infer/infer/error_reporting/nice_region_error/placeholder_error.rs b/src/librustc_infer/infer/error_reporting/nice_region_error/placeholder_error.rs index 57313dbab420f..2187064ec5ecf 100644 --- a/src/librustc_infer/infer/error_reporting/nice_region_error/placeholder_error.rs +++ b/src/librustc_infer/infer/error_reporting/nice_region_error/placeholder_error.rs @@ -3,13 +3,13 @@ use crate::infer::lexical_region_resolve::RegionResolutionError; use crate::infer::ValuePairs; use crate::infer::{SubregionOrigin, TypeTrace}; use crate::traits::{ObligationCause, ObligationCauseCode}; -use rustc::ty::error::ExpectedFound; -use rustc::ty::print::{FmtPrinter, Print, RegionHighlightMode}; -use rustc::ty::subst::SubstsRef; -use rustc::ty::{self, TyCtxt}; use rustc_errors::DiagnosticBuilder; use rustc_hir::def::Namespace; use rustc_hir::def_id::DefId; +use rustc_middle::ty::error::ExpectedFound; +use rustc_middle::ty::print::{FmtPrinter, Print, RegionHighlightMode}; +use rustc_middle::ty::subst::SubstsRef; +use rustc_middle::ty::{self, TyCtxt}; use std::fmt::{self, Write}; diff --git a/src/librustc_infer/infer/error_reporting/nice_region_error/static_impl_trait.rs b/src/librustc_infer/infer/error_reporting/nice_region_error/static_impl_trait.rs index 655e28bbd3d92..34653f2dc0db8 100644 --- a/src/librustc_infer/infer/error_reporting/nice_region_error/static_impl_trait.rs +++ b/src/librustc_infer/infer/error_reporting/nice_region_error/static_impl_trait.rs @@ -3,9 +3,9 @@ use crate::infer::error_reporting::msg_span_from_free_region; use crate::infer::error_reporting::nice_region_error::NiceRegionError; use crate::infer::lexical_region_resolve::RegionResolutionError; -use rustc::ty::{BoundRegion, FreeRegion, RegionKind}; -use rustc::util::common::ErrorReported; use rustc_errors::Applicability; +use rustc_middle::ty::{BoundRegion, FreeRegion, RegionKind}; +use rustc_middle::util::common::ErrorReported; impl<'a, 'tcx> NiceRegionError<'a, 'tcx> { /// Print the error message for lifetime errors when the return type is a static impl Trait. diff --git a/src/librustc_infer/infer/error_reporting/nice_region_error/trait_impl_difference.rs b/src/librustc_infer/infer/error_reporting/nice_region_error/trait_impl_difference.rs index f8cab9f84c841..7083e8e78faa6 100644 --- a/src/librustc_infer/infer/error_reporting/nice_region_error/trait_impl_difference.rs +++ b/src/librustc_infer/infer/error_reporting/nice_region_error/trait_impl_difference.rs @@ -4,8 +4,8 @@ use crate::infer::error_reporting::nice_region_error::NiceRegionError; use crate::infer::lexical_region_resolve::RegionResolutionError; use crate::infer::{Subtype, ValuePairs}; use crate::traits::ObligationCauseCode::CompareImplMethodObligation; -use rustc::ty::Ty; -use rustc::util::common::ErrorReported; +use rustc_middle::ty::Ty; +use rustc_middle::util::common::ErrorReported; use rustc_span::Span; impl<'a, 'tcx> NiceRegionError<'a, 'tcx> { diff --git a/src/librustc_infer/infer/error_reporting/nice_region_error/util.rs b/src/librustc_infer/infer/error_reporting/nice_region_error/util.rs index de72c276595f7..d35a589320bad 100644 --- a/src/librustc_infer/infer/error_reporting/nice_region_error/util.rs +++ b/src/librustc_infer/infer/error_reporting/nice_region_error/util.rs @@ -2,9 +2,9 @@ //! anonymous regions. use crate::infer::error_reporting::nice_region_error::NiceRegionError; -use rustc::ty::{self, DefIdTree, Region, Ty}; use rustc_hir as hir; use rustc_hir::def_id::DefId; +use rustc_middle::ty::{self, DefIdTree, Region, Ty}; use rustc_span::Span; // The struct contains the information about the anonymous region diff --git a/src/librustc_infer/infer/error_reporting/note.rs b/src/librustc_infer/infer/error_reporting/note.rs index 5c0caa48d0e77..81f37831af208 100644 --- a/src/librustc_infer/infer/error_reporting/note.rs +++ b/src/librustc_infer/infer/error_reporting/note.rs @@ -1,9 +1,9 @@ use crate::infer::error_reporting::{note_and_explain_region, ObligationCauseExt}; use crate::infer::{self, InferCtxt, SubregionOrigin}; -use rustc::middle::region; -use rustc::ty::error::TypeError; -use rustc::ty::{self, Region}; use rustc_errors::{struct_span_err, DiagnosticBuilder}; +use rustc_middle::middle::region; +use rustc_middle::ty::error::TypeError; +use rustc_middle::ty::{self, Region}; impl<'a, 'tcx> InferCtxt<'a, 'tcx> { pub(super) fn note_region_origin( diff --git a/src/librustc_infer/infer/freshen.rs b/src/librustc_infer/infer/freshen.rs index fa28cf5b45464..eeaa4c1661e4e 100644 --- a/src/librustc_infer/infer/freshen.rs +++ b/src/librustc_infer/infer/freshen.rs @@ -31,8 +31,8 @@ //! variable only once, and it does so as soon as it can, so it is reasonable to ask what the type //! inferencer knows "so far". -use rustc::ty::fold::TypeFolder; -use rustc::ty::{self, Ty, TyCtxt, TypeFoldable}; +use rustc_middle::ty::fold::TypeFolder; +use rustc_middle::ty::{self, Ty, TyCtxt, TypeFoldable}; use rustc_data_structures::fx::FxHashMap; diff --git a/src/librustc_infer/infer/fudge.rs b/src/librustc_infer/infer/fudge.rs index 16bf0f3d1c682..1a58e100fb3f4 100644 --- a/src/librustc_infer/infer/fudge.rs +++ b/src/librustc_infer/infer/fudge.rs @@ -1,5 +1,5 @@ -use rustc::ty::fold::{TypeFoldable, TypeFolder}; -use rustc::ty::{self, ConstVid, FloatVid, IntVid, RegionVid, Ty, TyCtxt, TyVid}; +use rustc_middle::ty::fold::{TypeFoldable, TypeFolder}; +use rustc_middle::ty::{self, ConstVid, FloatVid, IntVid, RegionVid, Ty, TyCtxt, TyVid}; use super::type_variable::TypeVariableOrigin; use super::InferCtxt; diff --git a/src/librustc_infer/infer/glb.rs b/src/librustc_infer/infer/glb.rs index 8b26bcef57304..f95d74a9340c9 100644 --- a/src/librustc_infer/infer/glb.rs +++ b/src/librustc_infer/infer/glb.rs @@ -4,8 +4,8 @@ use super::InferCtxt; use super::Subtype; use crate::traits::ObligationCause; -use rustc::ty::relate::{Relate, RelateResult, TypeRelation}; -use rustc::ty::{self, Ty, TyCtxt}; +use rustc_middle::ty::relate::{Relate, RelateResult, TypeRelation}; +use rustc_middle::ty::{self, Ty, TyCtxt}; /// "Greatest lower bound" (common subtype) pub struct Glb<'combine, 'infcx, 'tcx> { diff --git a/src/librustc_infer/infer/higher_ranked/mod.rs b/src/librustc_infer/infer/higher_ranked/mod.rs index 6a5a1c46d4caf..ef18918c1772f 100644 --- a/src/librustc_infer/infer/higher_ranked/mod.rs +++ b/src/librustc_infer/infer/higher_ranked/mod.rs @@ -5,8 +5,8 @@ use super::combine::CombineFields; use super::{HigherRankedType, InferCtxt, PlaceholderMap}; use crate::infer::CombinedSnapshot; -use rustc::ty::relate::{Relate, RelateResult, TypeRelation}; -use rustc::ty::{self, Binder, TypeFoldable}; +use rustc_middle::ty::relate::{Relate, RelateResult, TypeRelation}; +use rustc_middle::ty::{self, Binder, TypeFoldable}; impl<'a, 'tcx> CombineFields<'a, 'tcx> { pub fn higher_ranked_sub( diff --git a/src/librustc_infer/infer/lattice.rs b/src/librustc_infer/infer/lattice.rs index 42f9b3ab7709e..c29614b855667 100644 --- a/src/librustc_infer/infer/lattice.rs +++ b/src/librustc_infer/infer/lattice.rs @@ -23,9 +23,9 @@ use super::type_variable::{TypeVariableOrigin, TypeVariableOriginKind}; use super::InferCtxt; use crate::traits::ObligationCause; -use rustc::ty::relate::{RelateResult, TypeRelation}; -use rustc::ty::TyVar; -use rustc::ty::{self, Ty}; +use rustc_middle::ty::relate::{RelateResult, TypeRelation}; +use rustc_middle::ty::TyVar; +use rustc_middle::ty::{self, Ty}; pub trait LatticeDir<'f, 'tcx>: TypeRelation<'tcx> { fn infcx(&self) -> &'f InferCtxt<'f, 'tcx>; diff --git a/src/librustc_infer/infer/lexical_region_resolve/graphviz.rs b/src/librustc_infer/infer/lexical_region_resolve/graphviz.rs index eb52f10e40893..c43d8107b2fe9 100644 --- a/src/librustc_infer/infer/lexical_region_resolve/graphviz.rs +++ b/src/librustc_infer/infer/lexical_region_resolve/graphviz.rs @@ -1,5 +1,5 @@ //! This module provides linkage between libgraphviz traits and -//! `rustc::middle::typeck::infer::region_constraints`, generating a +//! `rustc_middle::middle::typeck::infer::region_constraints`, generating a //! rendering of the graph represented by the list of `Constraint` //! instances (which make up the edges of the graph), as well as the //! origin for each constraint (which are attached to the labels on @@ -11,11 +11,11 @@ use graphviz as dot; use super::Constraint; use crate::infer::region_constraints::RegionConstraintData; use crate::infer::SubregionOrigin; -use rustc::middle::free_region::RegionRelations; -use rustc::middle::region; -use rustc::ty; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_hir::def_id::DefIndex; +use rustc_middle::middle::free_region::RegionRelations; +use rustc_middle::middle::region; +use rustc_middle::ty; use std::borrow::Cow; use std::collections::btree_map::BTreeMap; diff --git a/src/librustc_infer/infer/lexical_region_resolve/mod.rs b/src/librustc_infer/infer/lexical_region_resolve/mod.rs index d81c7454a0fe5..8a73c8b880ee2 100644 --- a/src/librustc_infer/infer/lexical_region_resolve/mod.rs +++ b/src/librustc_infer/infer/lexical_region_resolve/mod.rs @@ -9,17 +9,17 @@ use crate::infer::region_constraints::VerifyBound; use crate::infer::RegionVariableOrigin; use crate::infer::RegionckMode; use crate::infer::SubregionOrigin; -use rustc::middle::free_region::RegionRelations; -use rustc::ty::fold::TypeFoldable; -use rustc::ty::{self, Ty, TyCtxt}; -use rustc::ty::{ReEarlyBound, ReEmpty, ReErased, ReFree, ReStatic}; -use rustc::ty::{ReLateBound, RePlaceholder, ReScope, ReVar}; -use rustc::ty::{Region, RegionVid}; use rustc_data_structures::fx::FxHashSet; use rustc_data_structures::graph::implementation::{ Direction, Graph, NodeIndex, INCOMING, OUTGOING, }; use rustc_index::vec::{Idx, IndexVec}; +use rustc_middle::middle::free_region::RegionRelations; +use rustc_middle::ty::fold::TypeFoldable; +use rustc_middle::ty::{self, Ty, TyCtxt}; +use rustc_middle::ty::{ReEarlyBound, ReEmpty, ReErased, ReFree, ReStatic}; +use rustc_middle::ty::{ReLateBound, RePlaceholder, ReScope, ReVar}; +use rustc_middle::ty::{Region, RegionVid}; use rustc_span::Span; use std::fmt; diff --git a/src/librustc_infer/infer/lub.rs b/src/librustc_infer/infer/lub.rs index 20ddeec68503a..492f2b229d36d 100644 --- a/src/librustc_infer/infer/lub.rs +++ b/src/librustc_infer/infer/lub.rs @@ -4,8 +4,8 @@ use super::InferCtxt; use super::Subtype; use crate::traits::ObligationCause; -use rustc::ty::relate::{Relate, RelateResult, TypeRelation}; -use rustc::ty::{self, Ty, TyCtxt}; +use rustc_middle::ty::relate::{Relate, RelateResult, TypeRelation}; +use rustc_middle::ty::{self, Ty, TyCtxt}; /// "Least upper bound" (common supertype) pub struct Lub<'combine, 'infcx, 'tcx> { diff --git a/src/librustc_infer/infer/mod.rs b/src/librustc_infer/infer/mod.rs index dc494b8e41370..edaa7a04b34d0 100644 --- a/src/librustc_infer/infer/mod.rs +++ b/src/librustc_infer/infer/mod.rs @@ -8,21 +8,6 @@ pub use self::ValuePairs::*; use crate::traits::{self, ObligationCause, PredicateObligations, TraitEngine}; -use rustc::infer::canonical::{Canonical, CanonicalVarValues}; -use rustc::infer::unify_key::{ConstVarValue, ConstVariableValue}; -use rustc::infer::unify_key::{ConstVariableOrigin, ConstVariableOriginKind, ToType}; -use rustc::middle::free_region::RegionRelations; -use rustc::middle::region; -use rustc::mir; -use rustc::mir::interpret::ConstEvalResult; -use rustc::traits::select; -use rustc::ty::error::{ExpectedFound, TypeError, UnconstrainedNumeric}; -use rustc::ty::fold::{TypeFoldable, TypeFolder}; -use rustc::ty::relate::RelateResult; -use rustc::ty::subst::{GenericArg, GenericArgKind, InternalSubsts, SubstsRef}; -pub use rustc::ty::IntVarValue; -use rustc::ty::{self, GenericParamDefKind, InferConst, Ty, TyCtxt}; -use rustc::ty::{ConstVid, FloatVid, IntVid, TyVid}; use rustc_ast::ast; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_data_structures::sync::Lrc; @@ -30,6 +15,21 @@ use rustc_data_structures::unify as ut; use rustc_errors::DiagnosticBuilder; use rustc_hir as hir; use rustc_hir::def_id::{DefId, LocalDefId}; +use rustc_middle::infer::canonical::{Canonical, CanonicalVarValues}; +use rustc_middle::infer::unify_key::{ConstVarValue, ConstVariableValue}; +use rustc_middle::infer::unify_key::{ConstVariableOrigin, ConstVariableOriginKind, ToType}; +use rustc_middle::middle::free_region::RegionRelations; +use rustc_middle::middle::region; +use rustc_middle::mir; +use rustc_middle::mir::interpret::ConstEvalResult; +use rustc_middle::traits::select; +use rustc_middle::ty::error::{ExpectedFound, TypeError, UnconstrainedNumeric}; +use rustc_middle::ty::fold::{TypeFoldable, TypeFolder}; +use rustc_middle::ty::relate::RelateResult; +use rustc_middle::ty::subst::{GenericArg, GenericArgKind, InternalSubsts, SubstsRef}; +pub use rustc_middle::ty::IntVarValue; +use rustc_middle::ty::{self, GenericParamDefKind, InferConst, Ty, TyCtxt}; +use rustc_middle::ty::{ConstVid, FloatVid, IntVid, TyVid}; use rustc_session::config::BorrowckMode; use rustc_span::symbol::Symbol; use rustc_span::Span; @@ -65,7 +65,7 @@ mod sub; pub mod type_variable; use crate::infer::canonical::OriginalQueryValues; -pub use rustc::infer::unify_key; +pub use rustc_middle::infer::unify_key; #[must_use] #[derive(Debug)] @@ -672,8 +672,8 @@ impl<'a, 'tcx> InferCtxt<'a, 'tcx> { } pub fn type_is_unconstrained_numeric(&'a self, ty: Ty<'_>) -> UnconstrainedNumeric { - use rustc::ty::error::UnconstrainedNumeric::Neither; - use rustc::ty::error::UnconstrainedNumeric::{UnconstrainedFloat, UnconstrainedInt}; + use rustc_middle::ty::error::UnconstrainedNumeric::Neither; + use rustc_middle::ty::error::UnconstrainedNumeric::{UnconstrainedFloat, UnconstrainedInt}; match ty.kind { ty::Infer(ty::IntVar(vid)) => { if self.inner.borrow_mut().int_unification_table.probe_value(vid).is_some() { diff --git a/src/librustc_infer/infer/nll_relate/mod.rs b/src/librustc_infer/infer/nll_relate/mod.rs index c194e968013eb..44bacfa80e125 100644 --- a/src/librustc_infer/infer/nll_relate/mod.rs +++ b/src/librustc_infer/infer/nll_relate/mod.rs @@ -24,12 +24,12 @@ use crate::infer::InferCtxt; use crate::infer::{ConstVarValue, ConstVariableValue}; use crate::traits::DomainGoal; -use rustc::ty::error::TypeError; -use rustc::ty::fold::{TypeFoldable, TypeVisitor}; -use rustc::ty::relate::{self, Relate, RelateResult, TypeRelation}; -use rustc::ty::subst::GenericArg; -use rustc::ty::{self, InferConst, Ty, TyCtxt}; use rustc_data_structures::fx::FxHashMap; +use rustc_middle::ty::error::TypeError; +use rustc_middle::ty::fold::{TypeFoldable, TypeVisitor}; +use rustc_middle::ty::relate::{self, Relate, RelateResult, TypeRelation}; +use rustc_middle::ty::subst::GenericArg; +use rustc_middle::ty::{self, InferConst, Ty, TyCtxt}; use std::fmt::Debug; #[derive(PartialEq)] diff --git a/src/librustc_infer/infer/outlives/env.rs b/src/librustc_infer/infer/outlives/env.rs index 6c1e86bf408b0..38c3f0ee6ac1b 100644 --- a/src/librustc_infer/infer/outlives/env.rs +++ b/src/librustc_infer/infer/outlives/env.rs @@ -1,9 +1,9 @@ use crate::infer::{GenericKind, InferCtxt}; use crate::traits::query::OutlivesBound; -use rustc::ty; -use rustc::ty::free_region_map::FreeRegionMap; use rustc_data_structures::fx::FxHashMap; use rustc_hir as hir; +use rustc_middle::ty; +use rustc_middle::ty::free_region_map::FreeRegionMap; use super::explicit_outlives_bounds; diff --git a/src/librustc_infer/infer/outlives/mod.rs b/src/librustc_infer/infer/outlives/mod.rs index 75cf742de31a7..ed3d860586968 100644 --- a/src/librustc_infer/infer/outlives/mod.rs +++ b/src/librustc_infer/infer/outlives/mod.rs @@ -4,8 +4,8 @@ pub mod env; pub mod obligations; pub mod verify; -use rustc::traits::query::OutlivesBound; -use rustc::ty; +use rustc_middle::traits::query::OutlivesBound; +use rustc_middle::ty; pub fn explicit_outlives_bounds<'tcx>( param_env: ty::ParamEnv<'tcx>, diff --git a/src/librustc_infer/infer/outlives/obligations.rs b/src/librustc_infer/infer/outlives/obligations.rs index e3790b027348e..e6feb5e1edcb5 100644 --- a/src/librustc_infer/infer/outlives/obligations.rs +++ b/src/librustc_infer/infer/outlives/obligations.rs @@ -63,9 +63,9 @@ use crate::infer::outlives::env::RegionBoundPairs; use crate::infer::outlives::verify::VerifyBoundCx; use crate::infer::{self, GenericKind, InferCtxt, RegionObligation, SubregionOrigin, VerifyBound}; use crate::traits::ObligationCause; -use rustc::ty::outlives::Component; -use rustc::ty::subst::GenericArgKind; -use rustc::ty::{self, Region, Ty, TyCtxt, TypeFoldable}; +use rustc_middle::ty::outlives::Component; +use rustc_middle::ty::subst::GenericArgKind; +use rustc_middle::ty::{self, Region, Ty, TyCtxt, TypeFoldable}; use rustc_data_structures::fx::FxHashMap; use rustc_hir as hir; diff --git a/src/librustc_infer/infer/outlives/verify.rs b/src/librustc_infer/infer/outlives/verify.rs index 08f73d2c9d2a8..1cd6830b6a241 100644 --- a/src/librustc_infer/infer/outlives/verify.rs +++ b/src/librustc_infer/infer/outlives/verify.rs @@ -1,10 +1,10 @@ use crate::infer::outlives::env::RegionBoundPairs; use crate::infer::{GenericKind, VerifyBound}; use crate::traits; -use rustc::ty::subst::{InternalSubsts, Subst}; -use rustc::ty::{self, Ty, TyCtxt}; use rustc_data_structures::captures::Captures; use rustc_hir::def_id::DefId; +use rustc_middle::ty::subst::{InternalSubsts, Subst}; +use rustc_middle::ty::{self, Ty, TyCtxt}; use smallvec::smallvec; diff --git a/src/librustc_infer/infer/region_constraints/leak_check.rs b/src/librustc_infer/infer/region_constraints/leak_check.rs index 6ebe3f5759760..18e86162eb5e4 100644 --- a/src/librustc_infer/infer/region_constraints/leak_check.rs +++ b/src/librustc_infer/infer/region_constraints/leak_check.rs @@ -1,7 +1,7 @@ use super::*; use crate::infer::{CombinedSnapshot, PlaceholderMap}; -use rustc::ty::error::TypeError; -use rustc::ty::relate::RelateResult; +use rustc_middle::ty::error::TypeError; +use rustc_middle::ty::relate::RelateResult; impl<'tcx> RegionConstraintCollector<'tcx> { /// Searches region constraints created since `snapshot` that diff --git a/src/librustc_infer/infer/region_constraints/mod.rs b/src/librustc_infer/infer/region_constraints/mod.rs index 72637f4544a35..e10b0938955af 100644 --- a/src/librustc_infer/infer/region_constraints/mod.rs +++ b/src/librustc_infer/infer/region_constraints/mod.rs @@ -6,15 +6,15 @@ use self::UndoLog::*; use super::unify_key; use super::{MiscVariable, RegionVariableOrigin, SubregionOrigin}; -use rustc::ty::ReStatic; -use rustc::ty::{self, Ty, TyCtxt}; -use rustc::ty::{ReLateBound, ReVar}; -use rustc::ty::{Region, RegionVid}; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_data_structures::sync::Lrc; use rustc_data_structures::unify as ut; use rustc_hir::def_id::DefId; use rustc_index::vec::IndexVec; +use rustc_middle::ty::ReStatic; +use rustc_middle::ty::{self, Ty, TyCtxt}; +use rustc_middle::ty::{ReLateBound, ReVar}; +use rustc_middle::ty::{Region, RegionVid}; use rustc_span::Span; use std::collections::BTreeMap; @@ -23,7 +23,7 @@ use std::{cmp, fmt, mem}; mod leak_check; -pub use rustc::infer::MemberConstraint; +pub use rustc_middle::infer::MemberConstraint; #[derive(Default)] pub struct RegionConstraintCollector<'tcx> { diff --git a/src/librustc_infer/infer/resolve.rs b/src/librustc_infer/infer/resolve.rs index ce0f2f40894f9..22b90f2415540 100644 --- a/src/librustc_infer/infer/resolve.rs +++ b/src/librustc_infer/infer/resolve.rs @@ -1,7 +1,7 @@ use super::type_variable::{TypeVariableOrigin, TypeVariableOriginKind}; use super::{FixupError, FixupResult, InferCtxt, Span}; -use rustc::ty::fold::{TypeFolder, TypeVisitor}; -use rustc::ty::{self, Const, InferConst, Ty, TyCtxt, TypeFoldable}; +use rustc_middle::ty::fold::{TypeFolder, TypeVisitor}; +use rustc_middle::ty::{self, Const, InferConst, Ty, TyCtxt, TypeFoldable}; /////////////////////////////////////////////////////////////////////////// // OPPORTUNISTIC VAR RESOLVER diff --git a/src/librustc_infer/infer/sub.rs b/src/librustc_infer/infer/sub.rs index f6fc38b535887..080af37492d89 100644 --- a/src/librustc_infer/infer/sub.rs +++ b/src/librustc_infer/infer/sub.rs @@ -2,10 +2,10 @@ use super::combine::{CombineFields, RelationDir}; use super::SubregionOrigin; use crate::traits::Obligation; -use rustc::ty::fold::TypeFoldable; -use rustc::ty::relate::{Cause, Relate, RelateResult, TypeRelation}; -use rustc::ty::TyVar; -use rustc::ty::{self, Ty, TyCtxt}; +use rustc_middle::ty::fold::TypeFoldable; +use rustc_middle::ty::relate::{Cause, Relate, RelateResult, TypeRelation}; +use rustc_middle::ty::TyVar; +use rustc_middle::ty::{self, Ty, TyCtxt}; use std::mem; /// Ensures `a` is made a subtype of `b`. Returns `a` on success. diff --git a/src/librustc_infer/infer/type_variable.rs b/src/librustc_infer/infer/type_variable.rs index 53bc70a5344ec..8e4199f0c263d 100644 --- a/src/librustc_infer/infer/type_variable.rs +++ b/src/librustc_infer/infer/type_variable.rs @@ -1,5 +1,5 @@ -use rustc::ty::{self, Ty, TyVid}; use rustc_hir::def_id::DefId; +use rustc_middle::ty::{self, Ty, TyVid}; use rustc_span::symbol::Symbol; use rustc_span::Span; diff --git a/src/librustc_infer/lib.rs b/src/librustc_infer/lib.rs index cb8ae8c592b22..5dd5165b688cf 100644 --- a/src/librustc_infer/lib.rs +++ b/src/librustc_infer/lib.rs @@ -30,7 +30,7 @@ extern crate rustc_data_structures; #[macro_use] extern crate log; #[macro_use] -extern crate rustc; +extern crate rustc_middle; pub mod infer; pub mod traits; diff --git a/src/librustc_infer/traits/engine.rs b/src/librustc_infer/traits/engine.rs index 9ad722342a19e..a95257ba6820a 100644 --- a/src/librustc_infer/traits/engine.rs +++ b/src/librustc_infer/traits/engine.rs @@ -1,7 +1,7 @@ use crate::infer::InferCtxt; use crate::traits::Obligation; -use rustc::ty::{self, ToPredicate, Ty, WithConstness}; use rustc_hir::def_id::DefId; +use rustc_middle::ty::{self, ToPredicate, Ty, WithConstness}; use super::FulfillmentError; use super::{ObligationCause, PredicateObligation}; diff --git a/src/librustc_infer/traits/error_reporting/mod.rs b/src/librustc_infer/traits/error_reporting/mod.rs index 47d3cdb7a4e2b..9206166d0bd67 100644 --- a/src/librustc_infer/traits/error_reporting/mod.rs +++ b/src/librustc_infer/traits/error_reporting/mod.rs @@ -1,12 +1,12 @@ use super::ObjectSafetyViolation; use crate::infer::InferCtxt; -use rustc::ty::TyCtxt; use rustc_ast::ast; use rustc_data_structures::fx::FxHashSet; use rustc_errors::{struct_span_err, Applicability, DiagnosticBuilder}; use rustc_hir as hir; use rustc_hir::def_id::DefId; +use rustc_middle::ty::TyCtxt; use rustc_span::Span; use std::fmt; diff --git a/src/librustc_infer/traits/mod.rs b/src/librustc_infer/traits/mod.rs index 1c0785497be22..0c451998be435 100644 --- a/src/librustc_infer/traits/mod.rs +++ b/src/librustc_infer/traits/mod.rs @@ -8,9 +8,9 @@ mod project; mod structural_impls; mod util; -use rustc::ty::error::{ExpectedFound, TypeError}; -use rustc::ty::{self, Ty}; use rustc_hir as hir; +use rustc_middle::ty::error::{ExpectedFound, TypeError}; +use rustc_middle::ty::{self, Ty}; use rustc_span::Span; pub use self::FulfillmentErrorCode::*; @@ -26,7 +26,7 @@ pub use self::project::{ }; crate use self::util::elaborate_predicates; -pub use rustc::traits::*; +pub use rustc_middle::traits::*; /// An `Obligation` represents some trait reference (e.g., `int: Eq`) for /// which the vtable must be found. The process of finding a vtable is diff --git a/src/librustc_infer/traits/project.rs b/src/librustc_infer/traits/project.rs index 06870ccc7dd5e..48375a9ddf418 100644 --- a/src/librustc_infer/traits/project.rs +++ b/src/librustc_infer/traits/project.rs @@ -2,11 +2,11 @@ use super::PredicateObligation; -use rustc::ty::fold::TypeFoldable; -use rustc::ty::{self, Ty}; use rustc_data_structures::snapshot_map::{Snapshot, SnapshotMap}; +use rustc_middle::ty::fold::TypeFoldable; +use rustc_middle::ty::{self, Ty}; -pub use rustc::traits::Reveal; +pub use rustc_middle::traits::Reveal; #[derive(Clone)] pub struct MismatchedProjectionTypes<'tcx> { diff --git a/src/librustc_infer/traits/structural_impls.rs b/src/librustc_infer/traits/structural_impls.rs index 6630f664f96e4..595a8cd768390 100644 --- a/src/librustc_infer/traits/structural_impls.rs +++ b/src/librustc_infer/traits/structural_impls.rs @@ -1,7 +1,7 @@ use crate::traits; use crate::traits::project::Normalized; -use rustc::ty; -use rustc::ty::fold::{TypeFoldable, TypeFolder, TypeVisitor}; +use rustc_middle::ty; +use rustc_middle::ty::fold::{TypeFoldable, TypeFolder, TypeVisitor}; use std::fmt; diff --git a/src/librustc_infer/traits/util.rs b/src/librustc_infer/traits/util.rs index 90f3cb1d24ccc..80a1e2828090f 100644 --- a/src/librustc_infer/traits/util.rs +++ b/src/librustc_infer/traits/util.rs @@ -1,8 +1,8 @@ use smallvec::smallvec; -use rustc::ty::outlives::Component; -use rustc::ty::{self, ToPolyTraitRef, TyCtxt}; use rustc_data_structures::fx::FxHashSet; +use rustc_middle::ty::outlives::Component; +use rustc_middle::ty::{self, ToPolyTraitRef, TyCtxt}; fn anonymize_predicate<'tcx>(tcx: TyCtxt<'tcx>, pred: &ty::Predicate<'tcx>) -> ty::Predicate<'tcx> { match *pred { diff --git a/src/librustc_interface/Cargo.toml b/src/librustc_interface/Cargo.toml index 2e055ff183f2c..c9d81e51641a8 100644 --- a/src/librustc_interface/Cargo.toml +++ b/src/librustc_interface/Cargo.toml @@ -21,7 +21,7 @@ rustc_parse = { path = "../librustc_parse" } rustc_session = { path = "../librustc_session" } rustc_span = { path = "../librustc_span" } rustc_serialize = { path = "../libserialize", package = "serialize" } -rustc = { path = "../librustc" } +rustc_middle = { path = "../librustc_middle" } rustc_ast_lowering = { path = "../librustc_ast_lowering" } rustc_ast_passes = { path = "../librustc_ast_passes" } rustc_incremental = { path = "../librustc_incremental" } diff --git a/src/librustc_interface/callbacks.rs b/src/librustc_interface/callbacks.rs index 0345b82d3bbc6..88c3d0ec56f68 100644 --- a/src/librustc_interface/callbacks.rs +++ b/src/librustc_interface/callbacks.rs @@ -1,6 +1,6 @@ //! Throughout the compiler tree, there are several places which want to have //! access to state or queries while being inside crates that are dependencies -//! of librustc. To facilitate this, we have the +//! of librustc_middle. To facilitate this, we have the //! `rustc_data_structures::AtomicRef` type, which allows us to setup a global //! static which can then be set in this file at program startup. //! @@ -9,12 +9,12 @@ //! The functions in this file should fall back to the default set in their //! origin crate when the `TyCtxt` is not present in TLS. -use rustc::ty::tls; use rustc_errors::{Diagnostic, TRACK_DIAGNOSTICS}; +use rustc_middle::ty::tls; use std::fmt; /// This is a callback from librustc_ast as it cannot access the implicit state -/// in librustc otherwise. +/// in librustc_middle otherwise. fn span_debug(span: rustc_span::Span, f: &mut fmt::Formatter<'_>) -> fmt::Result { tls::with_opt(|tcx| { if let Some(tcx) = tcx { @@ -26,7 +26,7 @@ fn span_debug(span: rustc_span::Span, f: &mut fmt::Formatter<'_>) -> fmt::Result } /// This is a callback from librustc_ast as it cannot access the implicit state -/// in librustc otherwise. It is used to when diagnostic messages are +/// in librustc_middle otherwise. It is used to when diagnostic messages are /// emitted and stores them in the current query, if there is one. fn track_diagnostic(diagnostic: &Diagnostic) { tls::with_context_opt(|icx| { @@ -40,7 +40,7 @@ fn track_diagnostic(diagnostic: &Diagnostic) { } /// This is a callback from librustc_hir as it cannot access the implicit state -/// in librustc otherwise. +/// in librustc_middle otherwise. fn def_id_debug(def_id: rustc_hir::def_id::DefId, f: &mut fmt::Formatter<'_>) -> fmt::Result { write!(f, "DefId({}:{}", def_id.krate, def_id.index.index())?; tls::with_opt(|opt_tcx| { @@ -58,5 +58,5 @@ pub fn setup_callbacks() { rustc_span::SPAN_DEBUG.swap(&(span_debug as fn(_, &mut fmt::Formatter<'_>) -> _)); rustc_hir::def_id::DEF_ID_DEBUG.swap(&(def_id_debug as fn(_, &mut fmt::Formatter<'_>) -> _)); TRACK_DIAGNOSTICS.swap(&(track_diagnostic as fn(&_))); - rustc::ty::RESOLVE_INSTANCE.swap(&(rustc_ty::instance::resolve_instance as _)); + rustc_middle::ty::RESOLVE_INSTANCE.swap(&(rustc_ty::instance::resolve_instance as _)); } diff --git a/src/librustc_interface/interface.rs b/src/librustc_interface/interface.rs index 65a7a48d440bd..a50e802ac2ec6 100644 --- a/src/librustc_interface/interface.rs +++ b/src/librustc_interface/interface.rs @@ -1,8 +1,6 @@ pub use crate::passes::BoxedResolver; use crate::util; -use rustc::ty; -use rustc::util::common::ErrorReported; use rustc_ast::ast::{self, MetaItemKind}; use rustc_ast::token; use rustc_codegen_ssa::traits::CodegenBackend; @@ -11,6 +9,8 @@ use rustc_data_structures::sync::Lrc; use rustc_data_structures::OnDrop; use rustc_errors::registry::Registry; use rustc_lint::LintStore; +use rustc_middle::ty; +use rustc_middle::util::common::ErrorReported; use rustc_parse::new_parser_from_source_str; use rustc_session::config::{self, ErrorOutputType, Input, OutputFilenames}; use rustc_session::early_error; diff --git a/src/librustc_interface/passes.rs b/src/librustc_interface/passes.rs index 7cf0b4c44a6aa..7d066a31a0797 100644 --- a/src/librustc_interface/passes.rs +++ b/src/librustc_interface/passes.rs @@ -3,13 +3,6 @@ use crate::proc_macro_decls; use crate::util; use log::{info, log_enabled, warn}; -use rustc::arena::Arena; -use rustc::dep_graph::DepGraph; -use rustc::middle; -use rustc::middle::cstore::{CrateStore, MetadataLoader, MetadataLoaderDyn}; -use rustc::ty::steal::Steal; -use rustc::ty::{self, GlobalCtxt, ResolverOutputs, TyCtxt}; -use rustc::util::common::ErrorReported; use rustc_ast::mut_visit::MutVisitor; use rustc_ast::{self, ast, visit}; use rustc_codegen_ssa::back::link::emit_metadata; @@ -22,6 +15,13 @@ use rustc_hir::def_id::{CrateNum, LOCAL_CRATE}; use rustc_hir::definitions::Definitions; use rustc_hir::Crate; use rustc_lint::LintStore; +use rustc_middle::arena::Arena; +use rustc_middle::dep_graph::DepGraph; +use rustc_middle::middle; +use rustc_middle::middle::cstore::{CrateStore, MetadataLoader, MetadataLoaderDyn}; +use rustc_middle::ty::steal::Steal; +use rustc_middle::ty::{self, GlobalCtxt, ResolverOutputs, TyCtxt}; +use rustc_middle::util::common::ErrorReported; use rustc_mir as mir; use rustc_mir_build as mir_build; use rustc_parse::{parse_crate_from_file, parse_crate_from_source_str}; @@ -678,7 +678,7 @@ pub fn default_provide(providers: &mut ty::query::Providers<'_>) { providers.analysis = analysis; proc_macro_decls::provide(providers); plugin::build::provide(providers); - rustc::hir::provide(providers); + rustc_middle::hir::provide(providers); mir::provide(providers); mir_build::provide(providers); rustc_privacy::provide(providers); diff --git a/src/librustc_interface/proc_macro_decls.rs b/src/librustc_interface/proc_macro_decls.rs index 076a8cef92cbc..47b53aeba725d 100644 --- a/src/librustc_interface/proc_macro_decls.rs +++ b/src/librustc_interface/proc_macro_decls.rs @@ -1,9 +1,9 @@ -use rustc::ty::query::Providers; -use rustc::ty::TyCtxt; use rustc_ast::attr; use rustc_hir as hir; use rustc_hir::def_id::{CrateNum, DefId, LOCAL_CRATE}; use rustc_hir::itemlikevisit::ItemLikeVisitor; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::TyCtxt; use rustc_span::symbol::sym; pub fn find(tcx: TyCtxt<'_>) -> Option { diff --git a/src/librustc_interface/queries.rs b/src/librustc_interface/queries.rs index b0eeb57173fa3..995776552dd18 100644 --- a/src/librustc_interface/queries.rs +++ b/src/librustc_interface/queries.rs @@ -1,11 +1,6 @@ use crate::interface::{Compiler, Result}; use crate::passes::{self, BoxedResolver, QueryContext}; -use rustc::arena::Arena; -use rustc::dep_graph::DepGraph; -use rustc::ty::steal::Steal; -use rustc::ty::{GlobalCtxt, ResolverOutputs, TyCtxt}; -use rustc::util::common::ErrorReported; use rustc_ast::{self, ast}; use rustc_codegen_ssa::traits::CodegenBackend; use rustc_data_structures::sync::{Lrc, Once, WorkerLocal}; @@ -13,6 +8,11 @@ use rustc_hir::def_id::LOCAL_CRATE; use rustc_hir::Crate; use rustc_incremental::DepGraphFuture; use rustc_lint::LintStore; +use rustc_middle::arena::Arena; +use rustc_middle::dep_graph::DepGraph; +use rustc_middle::ty::steal::Steal; +use rustc_middle::ty::{GlobalCtxt, ResolverOutputs, TyCtxt}; +use rustc_middle::util::common::ErrorReported; use rustc_session::config::{OutputFilenames, OutputType}; use rustc_session::{output::find_crate_name, Session}; use rustc_span::symbol::sym; diff --git a/src/librustc_interface/tests.rs b/src/librustc_interface/tests.rs index 8a8ba8a96f728..a9d9052423ca4 100644 --- a/src/librustc_interface/tests.rs +++ b/src/librustc_interface/tests.rs @@ -2,9 +2,9 @@ extern crate getopts; use crate::interface::parse_cfgspecs; -use rustc::middle::cstore; use rustc_data_structures::fx::FxHashSet; use rustc_errors::{emitter::HumanReadableErrorType, registry, ColorConfig}; +use rustc_middle::middle::cstore; use rustc_session::config::{build_configuration, build_session_options, to_crate_config}; use rustc_session::config::{rustc_optgroups, ErrorOutputType, ExternLocation, Options, Passes}; use rustc_session::config::{ExternEntry, LinkerPluginLto, LtoCli, SwitchWithOptPath}; diff --git a/src/librustc_interface/util.rs b/src/librustc_interface/util.rs index eff7dacef7953..a8cc34e185439 100644 --- a/src/librustc_interface/util.rs +++ b/src/librustc_interface/util.rs @@ -1,5 +1,4 @@ use log::info; -use rustc::ty; use rustc_ast::ast::{AttrVec, BlockCheckMode}; use rustc_ast::mut_visit::{visit_clobber, MutVisitor, *}; use rustc_ast::ptr::P; @@ -14,6 +13,7 @@ use rustc_data_structures::stable_hasher::StableHasher; use rustc_data_structures::sync::{Lock, Lrc}; use rustc_errors::registry::Registry; use rustc_metadata::dynamic_lib::DynamicLibrary; +use rustc_middle::ty; use rustc_resolve::{self, Resolver}; use rustc_session as session; use rustc_session::config::{ErrorOutputType, Input, OutputFilenames}; diff --git a/src/librustc_lint/Cargo.toml b/src/librustc_lint/Cargo.toml index 9785af5eab2fd..44a5ba3de517c 100644 --- a/src/librustc_lint/Cargo.toml +++ b/src/librustc_lint/Cargo.toml @@ -11,7 +11,7 @@ path = "lib.rs" [dependencies] log = "0.4" unicode-security = "0.0.2" -rustc = { path = "../librustc" } +rustc_middle = { path = "../librustc_middle" } rustc_ast_pretty = { path = "../librustc_ast_pretty" } rustc_attr = { path = "../librustc_attr" } rustc_errors = { path = "../librustc_errors" } diff --git a/src/librustc_lint/array_into_iter.rs b/src/librustc_lint/array_into_iter.rs index a91d735622f4e..3eb587c016acb 100644 --- a/src/librustc_lint/array_into_iter.rs +++ b/src/librustc_lint/array_into_iter.rs @@ -1,8 +1,8 @@ use crate::{LateContext, LateLintPass, LintContext}; -use rustc::ty; -use rustc::ty::adjustment::{Adjust, Adjustment}; use rustc_errors::Applicability; use rustc_hir as hir; +use rustc_middle::ty; +use rustc_middle::ty::adjustment::{Adjust, Adjustment}; use rustc_session::lint::FutureIncompatibleInfo; use rustc_span::symbol::sym; diff --git a/src/librustc_lint/builtin.rs b/src/librustc_lint/builtin.rs index 906e46edfe7ff..937164fb55d9d 100644 --- a/src/librustc_lint/builtin.rs +++ b/src/librustc_lint/builtin.rs @@ -1,9 +1,8 @@ //! Lints in the Rust compiler. //! //! This contains lints which can feasibly be implemented as their own -//! AST visitor. Also see `rustc::lint::builtin`, which contains the -//! definitions of lints that are emitted directly inside the main -//! compiler. +//! AST visitor. Also see `rustc_session::lint::builtin`, which contains the +//! definitions of lints that are emitted directly inside the main compiler. //! //! To add a new lint to rustc, declare it here using `declare_lint!()`. //! Then add code to emit the new lint in the appropriate circumstances. @@ -11,7 +10,7 @@ //! new `LintPass`, or using `Session::add_lint` elsewhere in the //! compiler. Only do the latter if the check can't be written cleanly as a //! `LintPass` (also, note that such lints will need to be defined in -//! `rustc::lint::builtin`, not here). +//! `rustc_session::lint::builtin`, not here). //! //! If you define a new `EarlyLintPass`, you will also need to add it to the //! `add_early_builtin!` or `add_early_builtin_with_new!` invocation in @@ -22,8 +21,6 @@ //! `late_lint_methods!` invocation in `lib.rs`. use crate::{EarlyContext, EarlyLintPass, LateContext, LateLintPass, LintContext}; -use rustc::lint::LintDiagnosticBuilder; -use rustc::ty::{self, layout::VariantIdx, Ty, TyCtxt}; use rustc_ast::ast::{self, Expr}; use rustc_ast::attr::{self, HasAttrs}; use rustc_ast::tokenstream::{TokenStream, TokenTree}; @@ -38,6 +35,8 @@ use rustc_hir::def::{DefKind, Res}; use rustc_hir::def_id::DefId; use rustc_hir::{GenericParamKind, PatKind}; use rustc_hir::{HirIdSet, Node}; +use rustc_middle::lint::LintDiagnosticBuilder; +use rustc_middle::ty::{self, layout::VariantIdx, Ty, TyCtxt}; use rustc_session::lint::FutureIncompatibleInfo; use rustc_span::edition::Edition; use rustc_span::source_map::Spanned; @@ -50,7 +49,7 @@ use crate::nonstandard_style::{method_context, MethodLateContext}; use log::debug; use std::fmt::Write; -// hardwired lints from librustc +// hardwired lints from librustc_middle pub use rustc_session::lint::builtin::*; declare_lint! { @@ -1207,8 +1206,8 @@ declare_lint_pass!( impl<'a, 'tcx> LateLintPass<'a, 'tcx> for TrivialConstraints { fn check_item(&mut self, cx: &LateContext<'a, 'tcx>, item: &'tcx hir::Item<'tcx>) { - use rustc::ty::fold::TypeFoldable; - use rustc::ty::Predicate::*; + use rustc_middle::ty::fold::TypeFoldable; + use rustc_middle::ty::Predicate::*; if cx.tcx.features().trivial_bounds { let def_id = cx.tcx.hir().local_def_id(item.hir_id); @@ -1558,7 +1557,7 @@ impl ExplicitOutlivesRequirements { inferred_outlives: &[ty::Region<'tcx>], infer_static: bool, ) -> Vec<(usize, Span)> { - use rustc::middle::resolve_lifetime::Region; + use rustc_middle::middle::resolve_lifetime::Region; bounds .iter() @@ -1641,7 +1640,7 @@ impl ExplicitOutlivesRequirements { impl<'a, 'tcx> LateLintPass<'a, 'tcx> for ExplicitOutlivesRequirements { fn check_item(&mut self, cx: &LateContext<'a, 'tcx>, item: &'tcx hir::Item<'_>) { - use rustc::middle::resolve_lifetime::Region; + use rustc_middle::middle::resolve_lifetime::Region; let infer_static = cx.tcx.features().infer_static_outlives_requirements; let def_id = cx.tcx.hir().local_def_id(item.hir_id); @@ -1926,7 +1925,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for InvalidValue { ty: Ty<'tcx>, init: InitKind, ) -> Option { - use rustc::ty::TyKind::*; + use rustc_middle::ty::TyKind::*; match ty.kind { // Primitive types that don't like 0 as a value. Ref(..) => Some(("references must be non-null".to_string(), None)), diff --git a/src/librustc_lint/context.rs b/src/librustc_lint/context.rs index f519c41c71a8c..4d644ce69eac2 100644 --- a/src/librustc_lint/context.rs +++ b/src/librustc_lint/context.rs @@ -18,11 +18,6 @@ use self::TargetLint::*; use crate::levels::LintLevelsBuilder; use crate::passes::{EarlyLintPassObject, LateLintPassObject}; -use rustc::lint::LintDiagnosticBuilder; -use rustc::middle::privacy::AccessLevels; -use rustc::middle::stability; -use rustc::ty::layout::{LayoutError, LayoutOf, TyAndLayout}; -use rustc::ty::{self, print::Printer, subst::GenericArg, Ty, TyCtxt}; use rustc_ast::ast; use rustc_ast::util::lev_distance::find_best_match_for_name; use rustc_data_structures::fx::FxHashMap; @@ -31,6 +26,11 @@ use rustc_errors::{struct_span_err, Applicability}; use rustc_hir as hir; use rustc_hir::def_id::{CrateNum, DefId}; use rustc_hir::definitions::{DefPathData, DisambiguatedDefPathData}; +use rustc_middle::lint::LintDiagnosticBuilder; +use rustc_middle::middle::privacy::AccessLevels; +use rustc_middle::middle::stability; +use rustc_middle::ty::layout::{LayoutError, LayoutOf, TyAndLayout}; +use rustc_middle::ty::{self, print::Printer, subst::GenericArg, Ty, TyCtxt}; use rustc_session::lint::{add_elided_lifetime_in_path_suggestion, BuiltinLintDiagnostics}; use rustc_session::lint::{FutureIncompatibleInfo, Level, Lint, LintBuffer, LintId}; use rustc_session::Session; diff --git a/src/librustc_lint/late.rs b/src/librustc_lint/late.rs index d2cc551060357..1999a8ec5f60d 100644 --- a/src/librustc_lint/late.rs +++ b/src/librustc_lint/late.rs @@ -15,8 +15,6 @@ //! for all lint attributes. use crate::{passes::LateLintPassObject, LateContext, LateLintPass, LintStore}; -use rustc::hir::map::Map; -use rustc::ty::{self, TyCtxt}; use rustc_ast::ast; use rustc_ast::walk_list; use rustc_data_structures::sync::{join, par_iter, ParallelIterator}; @@ -24,6 +22,8 @@ use rustc_hir as hir; use rustc_hir::def_id::{DefId, LOCAL_CRATE}; use rustc_hir::intravisit as hir_visit; use rustc_hir::intravisit::Visitor; +use rustc_middle::hir::map::Map; +use rustc_middle::ty::{self, TyCtxt}; use rustc_session::lint::LintPass; use rustc_span::Span; diff --git a/src/librustc_lint/levels.rs b/src/librustc_lint/levels.rs index 2062f9499aeb9..c78b088fb1261 100644 --- a/src/librustc_lint/levels.rs +++ b/src/librustc_lint/levels.rs @@ -1,10 +1,5 @@ use crate::context::{CheckLintNameResult, LintStore}; use crate::late::unerased_lint_store; -use rustc::hir::map::Map; -use rustc::lint::LintDiagnosticBuilder; -use rustc::lint::{struct_lint_level, LintLevelMap, LintLevelSets, LintSet, LintSource}; -use rustc::ty::query::Providers; -use rustc::ty::TyCtxt; use rustc_ast::ast; use rustc_ast::attr; use rustc_ast::unwrap_or; @@ -14,6 +9,11 @@ use rustc_errors::{struct_span_err, Applicability}; use rustc_hir as hir; use rustc_hir::def_id::{CrateNum, LOCAL_CRATE}; use rustc_hir::{intravisit, HirId}; +use rustc_middle::hir::map::Map; +use rustc_middle::lint::LintDiagnosticBuilder; +use rustc_middle::lint::{struct_lint_level, LintLevelMap, LintLevelSets, LintSet, LintSource}; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::TyCtxt; use rustc_session::lint::{builtin, Level, Lint}; use rustc_session::parse::feature_err; use rustc_session::Session; diff --git a/src/librustc_lint/lib.rs b/src/librustc_lint/lib.rs index 825ac04bc0920..97261759aeb28 100644 --- a/src/librustc_lint/lib.rs +++ b/src/librustc_lint/lib.rs @@ -19,7 +19,7 @@ //! example) requires more effort. See `emit_lint` and `GatherNodeLevels` //! in `context.rs`. //! -//! Some code also exists in `rustc_session::lint`, `rustc::lint`. +//! Some code also exists in `rustc_session::lint`, `rustc_middle::lint`. //! //! ## Note //! @@ -35,7 +35,7 @@ #![recursion_limit = "256"] #[macro_use] -extern crate rustc; +extern crate rustc_middle; #[macro_use] extern crate rustc_session; @@ -53,11 +53,11 @@ mod redundant_semicolon; mod types; mod unused; -use rustc::ty::query::Providers; -use rustc::ty::TyCtxt; use rustc_ast::ast; use rustc_hir as hir; use rustc_hir::def_id::DefId; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::TyCtxt; use rustc_session::lint::builtin::{ BARE_TRAIT_OBJECTS, ELIDED_LIFETIMES_IN_PATHS, EXPLICIT_OUTLIVES_REQUIREMENTS, INTRA_DOC_LINK_RESOLUTION_FAILURE, MISSING_DOC_CODE_EXAMPLES, PRIVATE_DOC_TESTS, diff --git a/src/librustc_lint/nonstandard_style.rs b/src/librustc_lint/nonstandard_style.rs index afab55358d938..052b461039b23 100644 --- a/src/librustc_lint/nonstandard_style.rs +++ b/src/librustc_lint/nonstandard_style.rs @@ -1,5 +1,4 @@ use crate::{EarlyContext, EarlyLintPass, LateContext, LateLintPass, LintContext}; -use rustc::ty; use rustc_ast::ast; use rustc_attr as attr; use rustc_errors::Applicability; @@ -7,6 +6,7 @@ use rustc_hir as hir; use rustc_hir::def::{DefKind, Res}; use rustc_hir::intravisit::FnKind; use rustc_hir::{GenericParamKind, PatKind}; +use rustc_middle::ty; use rustc_span::symbol::sym; use rustc_span::{symbol::Ident, BytePos, Span}; use rustc_target::spec::abi::Abi; diff --git a/src/librustc_lint/types.rs b/src/librustc_lint/types.rs index fcd50001cb3a9..52ec8cd938156 100644 --- a/src/librustc_lint/types.rs +++ b/src/librustc_lint/types.rs @@ -1,10 +1,6 @@ #![allow(non_snake_case)] use crate::{LateContext, LateLintPass, LintContext}; -use rustc::mir::interpret::{sign_extend, truncate}; -use rustc::ty::layout::{self, IntegerExt, LayoutOf, SizeSkeleton, VariantIdx}; -use rustc::ty::subst::SubstsRef; -use rustc::ty::{self, AdtKind, ParamEnv, Ty, TyCtxt}; use rustc_ast::ast; use rustc_attr as attr; use rustc_data_structures::fx::FxHashSet; @@ -13,6 +9,10 @@ use rustc_hir as hir; use rustc_hir::def_id::DefId; use rustc_hir::{is_range_literal, ExprKind, Node}; use rustc_index::vec::Idx; +use rustc_middle::mir::interpret::{sign_extend, truncate}; +use rustc_middle::ty::layout::{self, IntegerExt, LayoutOf, SizeSkeleton, VariantIdx}; +use rustc_middle::ty::subst::SubstsRef; +use rustc_middle::ty::{self, AdtKind, ParamEnv, Ty, TyCtxt}; use rustc_span::source_map; use rustc_span::symbol::sym; use rustc_span::Span; @@ -919,7 +919,7 @@ impl<'a, 'tcx> ImproperCTypesVisitor<'a, 'tcx> { } fn check_for_opaque_ty(&mut self, sp: Span, ty: Ty<'tcx>) -> bool { - use crate::rustc::ty::TypeFoldable; + use rustc_middle::ty::TypeFoldable; struct ProhibitOpaqueTypes<'tcx> { ty: Option>, diff --git a/src/librustc_lint/unused.rs b/src/librustc_lint/unused.rs index b5826d6a5efa6..d14a3f0ff0673 100644 --- a/src/librustc_lint/unused.rs +++ b/src/librustc_lint/unused.rs @@ -1,6 +1,4 @@ use crate::{EarlyContext, EarlyLintPass, LateContext, LateLintPass, LintContext}; -use rustc::ty::adjustment; -use rustc::ty::{self, Ty}; use rustc_ast::ast; use rustc_ast::attr; use rustc_ast::util::parser; @@ -11,6 +9,8 @@ use rustc_feature::{AttributeType, BuiltinAttribute, BUILTIN_ATTRIBUTE_MAP}; use rustc_hir as hir; use rustc_hir::def::{DefKind, Res}; use rustc_hir::def_id::DefId; +use rustc_middle::ty::adjustment; +use rustc_middle::ty::{self, Ty}; use rustc_session::lint::builtin::UNUSED_ATTRIBUTES; use rustc_span::symbol::Symbol; use rustc_span::symbol::{kw, sym}; diff --git a/src/librustc_macros/src/hash_stable.rs b/src/librustc_macros/src/hash_stable.rs index dc6ae961e5a6e..c955c13778276 100644 --- a/src/librustc_macros/src/hash_stable.rs +++ b/src/librustc_macros/src/hash_stable.rs @@ -115,13 +115,13 @@ pub fn hash_stable_derive(mut s: synstructure::Structure<'_>) -> proc_macro2::To s.bound_impl( quote!( ::rustc_data_structures::stable_hasher::HashStable< - ::rustc::ich::StableHashingContext<'__ctx>, + ::rustc_middle::ich::StableHashingContext<'__ctx>, > ), quote! { fn hash_stable( &self, - __hcx: &mut ::rustc::ich::StableHashingContext<'__ctx>, + __hcx: &mut ::rustc_middle::ich::StableHashingContext<'__ctx>, __hasher: &mut ::rustc_data_structures::stable_hasher::StableHasher) { #discriminant match *self { #body } diff --git a/src/librustc_macros/src/lift.rs b/src/librustc_macros/src/lift.rs index a246b34b2c295..4bf4ce00a4d38 100644 --- a/src/librustc_macros/src/lift.rs +++ b/src/librustc_macros/src/lift.rs @@ -39,11 +39,11 @@ pub fn lift_derive(mut s: synstructure::Structure<'_>) -> proc_macro2::TokenStre s.add_impl_generic(newtcx); s.bound_impl( - quote!(::rustc::ty::Lift<'__lifted>), + quote!(::rustc_middle::ty::Lift<'__lifted>), quote! { type Lifted = #lifted; - fn lift_to_tcx(&self, __tcx: ::rustc::ty::TyCtxt<'__lifted>) -> Option<#lifted> { + fn lift_to_tcx(&self, __tcx: ::rustc_middle::ty::TyCtxt<'__lifted>) -> Option<#lifted> { Some(match *self { #body }) } }, diff --git a/src/librustc_macros/src/query.rs b/src/librustc_macros/src/query.rs index 26c3bce4a9a02..08dc854e9ff59 100644 --- a/src/librustc_macros/src/query.rs +++ b/src/librustc_macros/src/query.rs @@ -429,7 +429,7 @@ pub fn rustc_queries(input: TokenStream) -> TokenStream { }); try_load_from_on_disk_cache_stream.extend(quote! { - ::rustc::dep_graph::DepKind::#name => { + ::rustc_middle::dep_graph::DepKind::#name => { if <#arg as DepNodeParams>>::CAN_RECONSTRUCT_QUERY_KEY { debug_assert!($tcx.dep_graph .node_color($dep_node) @@ -486,7 +486,7 @@ pub fn rustc_queries(input: TokenStream) -> TokenStream { // Add a match arm to force the query given the dep node dep_node_force_stream.extend(quote! { - ::rustc::dep_graph::DepKind::#name => { + ::rustc_middle::dep_graph::DepKind::#name => { if <#arg as DepNodeParams>>::CAN_RECONSTRUCT_QUERY_KEY { if let Some(key) = <#arg as DepNodeParams>>::recover($tcx, $dep_node) { force_query::, _>( @@ -510,7 +510,7 @@ pub fn rustc_queries(input: TokenStream) -> TokenStream { } dep_node_force_stream.extend(quote! { - ::rustc::dep_graph::DepKind::Null => { + ::rustc_middle::dep_graph::DepKind::Null => { bug!("Cannot force dep node: {:?}", $dep_node) } }); diff --git a/src/librustc_macros/src/type_foldable.rs b/src/librustc_macros/src/type_foldable.rs index 687401e33449b..6931e6552add2 100644 --- a/src/librustc_macros/src/type_foldable.rs +++ b/src/librustc_macros/src/type_foldable.rs @@ -11,25 +11,25 @@ pub fn type_foldable_derive(mut s: synstructure::Structure<'_>) -> proc_macro2:: vi.construct(|_, index| { let bind = &bindings[index]; quote! { - ::rustc::ty::fold::TypeFoldable::fold_with(#bind, __folder) + ::rustc_middle::ty::fold::TypeFoldable::fold_with(#bind, __folder) } }) }); let body_visit = s.fold(false, |acc, bind| { - quote! { #acc || ::rustc::ty::fold::TypeFoldable::visit_with(#bind, __folder) } + quote! { #acc || ::rustc_middle::ty::fold::TypeFoldable::visit_with(#bind, __folder) } }); s.bound_impl( - quote!(::rustc::ty::fold::TypeFoldable<'tcx>), + quote!(::rustc_middle::ty::fold::TypeFoldable<'tcx>), quote! { - fn super_fold_with<__F: ::rustc::ty::fold::TypeFolder<'tcx>>( + fn super_fold_with<__F: ::rustc_middle::ty::fold::TypeFolder<'tcx>>( &self, __folder: &mut __F ) -> Self { match *self { #body_fold } } - fn super_visit_with<__F: ::rustc::ty::fold::TypeVisitor<'tcx>>( + fn super_visit_with<__F: ::rustc_middle::ty::fold::TypeVisitor<'tcx>>( &self, __folder: &mut __F ) -> bool { diff --git a/src/librustc_metadata/Cargo.toml b/src/librustc_metadata/Cargo.toml index ea439b1f41d42..a88ccd52e9111 100644 --- a/src/librustc_metadata/Cargo.toml +++ b/src/librustc_metadata/Cargo.toml @@ -14,7 +14,7 @@ flate2 = "1.0" log = "0.4" memmap = "0.7" smallvec = { version = "1.0", features = ["union", "may_dangle"] } -rustc = { path = "../librustc" } +rustc_middle = { path = "../librustc_middle" } rustc_attr = { path = "../librustc_attr" } rustc_data_structures = { path = "../librustc_data_structures" } rustc_errors = { path = "../librustc_errors" } diff --git a/src/librustc_metadata/creader.rs b/src/librustc_metadata/creader.rs index a807fa6b8d466..3e5d7b8efd530 100644 --- a/src/librustc_metadata/creader.rs +++ b/src/librustc_metadata/creader.rs @@ -3,9 +3,6 @@ use crate::locator::{CrateLocator, CratePaths}; use crate::rmeta::{CrateDep, CrateMetadata, CrateNumMap, CrateRoot, MetadataBlob}; -use rustc::middle::cstore::DepKind; -use rustc::middle::cstore::{CrateSource, ExternCrate, ExternCrateSource, MetadataLoaderDyn}; -use rustc::ty::TyCtxt; use rustc_ast::expand::allocator::{global_allocator_spans, AllocatorKind}; use rustc_ast::{ast, attr}; use rustc_data_structures::svh::Svh; @@ -15,6 +12,11 @@ use rustc_expand::base::SyntaxExtension; use rustc_hir::def_id::{CrateNum, LOCAL_CRATE}; use rustc_hir::definitions::Definitions; use rustc_index::vec::IndexVec; +use rustc_middle::middle::cstore::DepKind; +use rustc_middle::middle::cstore::{ + CrateSource, ExternCrate, ExternCrateSource, MetadataLoaderDyn, +}; +use rustc_middle::ty::TyCtxt; use rustc_session::config; use rustc_session::output::validate_crate_name; use rustc_session::search_paths::PathKind; diff --git a/src/librustc_metadata/dependency_format.rs b/src/librustc_metadata/dependency_format.rs index 4cfaf03b7a5f6..91654067f0815 100644 --- a/src/librustc_metadata/dependency_format.rs +++ b/src/librustc_metadata/dependency_format.rs @@ -53,12 +53,12 @@ use crate::creader::CStore; -use rustc::middle::cstore::LinkagePreference::{self, RequireDynamic, RequireStatic}; -use rustc::middle::cstore::{self, DepKind}; -use rustc::middle::dependency_format::{Dependencies, DependencyList, Linkage}; -use rustc::ty::TyCtxt; use rustc_data_structures::fx::FxHashMap; use rustc_hir::def_id::CrateNum; +use rustc_middle::middle::cstore::LinkagePreference::{self, RequireDynamic, RequireStatic}; +use rustc_middle::middle::cstore::{self, DepKind}; +use rustc_middle::middle::dependency_format::{Dependencies, DependencyList, Linkage}; +use rustc_middle::ty::TyCtxt; use rustc_session::config; use rustc_target::spec::PanicStrategy; diff --git a/src/librustc_metadata/foreign_modules.rs b/src/librustc_metadata/foreign_modules.rs index 60b8239a82155..b312aa37d46b0 100644 --- a/src/librustc_metadata/foreign_modules.rs +++ b/src/librustc_metadata/foreign_modules.rs @@ -1,7 +1,7 @@ -use rustc::middle::cstore::ForeignModule; -use rustc::ty::TyCtxt; use rustc_hir as hir; use rustc_hir::itemlikevisit::ItemLikeVisitor; +use rustc_middle::middle::cstore::ForeignModule; +use rustc_middle::ty::TyCtxt; crate fn collect(tcx: TyCtxt<'_>) -> Vec { let mut collector = Collector { tcx, modules: Vec::new() }; diff --git a/src/librustc_metadata/lib.rs b/src/librustc_metadata/lib.rs index 2993aed2f8ab4..22a2bf280415c 100644 --- a/src/librustc_metadata/lib.rs +++ b/src/librustc_metadata/lib.rs @@ -14,7 +14,7 @@ extern crate libc; extern crate proc_macro; #[macro_use] -extern crate rustc; +extern crate rustc_middle; #[macro_use] extern crate rustc_data_structures; diff --git a/src/librustc_metadata/link_args.rs b/src/librustc_metadata/link_args.rs index 56b26efe5bf1e..2dd4a9c9dbcb1 100644 --- a/src/librustc_metadata/link_args.rs +++ b/src/librustc_metadata/link_args.rs @@ -1,6 +1,6 @@ -use rustc::ty::TyCtxt; use rustc_hir as hir; use rustc_hir::itemlikevisit::ItemLikeVisitor; +use rustc_middle::ty::TyCtxt; use rustc_span::symbol::sym; use rustc_target::spec::abi::Abi; diff --git a/src/librustc_metadata/locator.rs b/src/librustc_metadata/locator.rs index c1a95c094b10c..d56c8490ef5ee 100644 --- a/src/librustc_metadata/locator.rs +++ b/src/librustc_metadata/locator.rs @@ -215,11 +215,11 @@ use crate::creader::Library; use crate::rmeta::{rustc_version, MetadataBlob, METADATA_HEADER}; -use rustc::middle::cstore::{CrateSource, MetadataLoader}; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_data_structures::svh::Svh; use rustc_data_structures::sync::MetadataRef; use rustc_errors::{struct_span_err, DiagnosticBuilder}; +use rustc_middle::middle::cstore::{CrateSource, MetadataLoader}; use rustc_session::filesearch::{FileDoesntMatch, FileMatches, FileSearch}; use rustc_session::search_paths::PathKind; use rustc_session::{config, CrateDisambiguator, Session}; diff --git a/src/librustc_metadata/native_libs.rs b/src/librustc_metadata/native_libs.rs index 19d2d620f58a7..e952051eb9f6d 100644 --- a/src/librustc_metadata/native_libs.rs +++ b/src/librustc_metadata/native_libs.rs @@ -1,10 +1,10 @@ -use rustc::middle::cstore::{self, NativeLibrary}; -use rustc::ty::TyCtxt; use rustc_attr as attr; use rustc_data_structures::fx::FxHashSet; use rustc_errors::struct_span_err; use rustc_hir as hir; use rustc_hir::itemlikevisit::ItemLikeVisitor; +use rustc_middle::middle::cstore::{self, NativeLibrary}; +use rustc_middle::ty::TyCtxt; use rustc_session::parse::feature_err; use rustc_session::Session; use rustc_span::source_map::Span; diff --git a/src/librustc_metadata/rmeta/decoder.rs b/src/librustc_metadata/rmeta/decoder.rs index 4520df588996e..004c5f2ebb7f4 100644 --- a/src/librustc_metadata/rmeta/decoder.rs +++ b/src/librustc_metadata/rmeta/decoder.rs @@ -4,17 +4,6 @@ use crate::creader::CrateMetadataRef; use crate::rmeta::table::{FixedSizeEncoding, Table}; use crate::rmeta::*; -use rustc::dep_graph::{self, DepNode, DepNodeExt, DepNodeIndex}; -use rustc::hir::exports::Export; -use rustc::middle::cstore::{CrateSource, ExternCrate}; -use rustc::middle::cstore::{ForeignModule, LinkagePreference, NativeLibrary}; -use rustc::middle::exported_symbols::{ExportedSymbol, SymbolExportLevel}; -use rustc::middle::lang_items; -use rustc::mir::interpret::{AllocDecodingSession, AllocDecodingState}; -use rustc::mir::{self, interpret, BodyAndCache, Promoted}; -use rustc::ty::codec::TyDecoder; -use rustc::ty::{self, Ty, TyCtxt}; -use rustc::util::common::record_time; use rustc_ast::ast::{self, Ident}; use rustc_attr as attr; use rustc_data_structures::captures::Captures; @@ -30,6 +19,17 @@ use rustc_hir::def_id::{CrateNum, DefId, DefIndex, LocalDefId, CRATE_DEF_INDEX, use rustc_hir::definitions::DefPathTable; use rustc_hir::definitions::{DefKey, DefPath, DefPathData, DefPathHash}; use rustc_index::vec::{Idx, IndexVec}; +use rustc_middle::dep_graph::{self, DepNode, DepNodeExt, DepNodeIndex}; +use rustc_middle::hir::exports::Export; +use rustc_middle::middle::cstore::{CrateSource, ExternCrate}; +use rustc_middle::middle::cstore::{ForeignModule, LinkagePreference, NativeLibrary}; +use rustc_middle::middle::exported_symbols::{ExportedSymbol, SymbolExportLevel}; +use rustc_middle::middle::lang_items; +use rustc_middle::mir::interpret::{AllocDecodingSession, AllocDecodingState}; +use rustc_middle::mir::{self, interpret, BodyAndCache, Promoted}; +use rustc_middle::ty::codec::TyDecoder; +use rustc_middle::ty::{self, Ty, TyCtxt}; +use rustc_middle::util::common::record_time; use rustc_serialize::{opaque, Decodable, Decoder, SpecializedDecoder}; use rustc_session::Session; use rustc_span::source_map::{self, respan, Spanned}; diff --git a/src/librustc_metadata/rmeta/decoder/cstore_impl.rs b/src/librustc_metadata/rmeta/decoder/cstore_impl.rs index 7a1ac9e0a60ec..c99b1dc360682 100644 --- a/src/librustc_metadata/rmeta/decoder/cstore_impl.rs +++ b/src/librustc_metadata/rmeta/decoder/cstore_impl.rs @@ -4,13 +4,6 @@ use crate::link_args; use crate::native_libs; use crate::rmeta::{self, encoder}; -use rustc::hir::exports::Export; -use rustc::middle::cstore::{CrateSource, CrateStore, EncodedMetadata, NativeLibraryKind}; -use rustc::middle::exported_symbols::ExportedSymbol; -use rustc::middle::stability::DeprecationEntry; -use rustc::ty::query::Providers; -use rustc::ty::query::QueryConfig; -use rustc::ty::{self, TyCtxt}; use rustc_ast::ast; use rustc_ast::attr; use rustc_ast::expand::allocator::AllocatorKind; @@ -19,6 +12,13 @@ use rustc_hir as hir; use rustc_hir::def_id::{CrateNum, DefId, DefIdMap, CRATE_DEF_INDEX, LOCAL_CRATE}; use rustc_hir::definitions::DefPathTable; use rustc_hir::definitions::{DefKey, DefPath, DefPathHash}; +use rustc_middle::hir::exports::Export; +use rustc_middle::middle::cstore::{CrateSource, CrateStore, EncodedMetadata, NativeLibraryKind}; +use rustc_middle::middle::exported_symbols::ExportedSymbol; +use rustc_middle::middle::stability::DeprecationEntry; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::query::QueryConfig; +use rustc_middle::ty::{self, TyCtxt}; use rustc_session::{CrateDisambiguator, Session}; use rustc_span::source_map::{self, Span, Spanned}; use rustc_span::symbol::Symbol; diff --git a/src/librustc_metadata/rmeta/encoder.rs b/src/librustc_metadata/rmeta/encoder.rs index 3686b2f20487b..aeea7db9e9e8b 100644 --- a/src/librustc_metadata/rmeta/encoder.rs +++ b/src/librustc_metadata/rmeta/encoder.rs @@ -2,16 +2,6 @@ use crate::rmeta::table::FixedSizeEncoding; use crate::rmeta::*; use log::{debug, trace}; -use rustc::hir::map::Map; -use rustc::middle::cstore::{EncodedMetadata, ForeignModule, LinkagePreference, NativeLibrary}; -use rustc::middle::dependency_format::Linkage; -use rustc::middle::exported_symbols::{metadata_symbol_name, ExportedSymbol, SymbolExportLevel}; -use rustc::middle::lang_items; -use rustc::mir::{self, interpret}; -use rustc::traits::specialization_graph; -use rustc::ty::codec::{self as ty_codec, TyEncoder}; -use rustc::ty::layout::VariantIdx; -use rustc::ty::{self, SymbolName, Ty, TyCtxt}; use rustc_ast::ast::{self, Ident}; use rustc_ast::attr; use rustc_data_structures::fingerprint::Fingerprint; @@ -27,6 +17,20 @@ use rustc_hir::intravisit::{self, NestedVisitorMap, Visitor}; use rustc_hir::itemlikevisit::{ItemLikeVisitor, ParItemLikeVisitor}; use rustc_hir::{AnonConst, GenericParamKind}; use rustc_index::vec::Idx; +use rustc_middle::hir::map::Map; +use rustc_middle::middle::cstore::{ + EncodedMetadata, ForeignModule, LinkagePreference, NativeLibrary, +}; +use rustc_middle::middle::dependency_format::Linkage; +use rustc_middle::middle::exported_symbols::{ + metadata_symbol_name, ExportedSymbol, SymbolExportLevel, +}; +use rustc_middle::middle::lang_items; +use rustc_middle::mir::{self, interpret}; +use rustc_middle::traits::specialization_graph; +use rustc_middle::ty::codec::{self as ty_codec, TyEncoder}; +use rustc_middle::ty::layout::VariantIdx; +use rustc_middle::ty::{self, SymbolName, Ty, TyCtxt}; use rustc_serialize::{opaque, Encodable, Encoder, SpecializedEncoder}; use rustc_session::config::{self, CrateType}; use rustc_span::source_map::Spanned; diff --git a/src/librustc_metadata/rmeta/mod.rs b/src/librustc_metadata/rmeta/mod.rs index 57415c0a6070d..d0ad76b0fc7ea 100644 --- a/src/librustc_metadata/rmeta/mod.rs +++ b/src/librustc_metadata/rmeta/mod.rs @@ -1,12 +1,6 @@ use decoder::Metadata; use table::{Table, TableBuilder}; -use rustc::hir::exports::Export; -use rustc::middle::cstore::{DepKind, ForeignModule, LinkagePreference, NativeLibrary}; -use rustc::middle::exported_symbols::{ExportedSymbol, SymbolExportLevel}; -use rustc::middle::lang_items; -use rustc::mir; -use rustc::ty::{self, ReprOptions, Ty}; use rustc_ast::ast::{self, MacroDef}; use rustc_attr as attr; use rustc_data_structures::svh::Svh; @@ -15,6 +9,12 @@ use rustc_hir as hir; use rustc_hir::def::CtorKind; use rustc_hir::def_id::{DefId, DefIndex}; use rustc_index::vec::IndexVec; +use rustc_middle::hir::exports::Export; +use rustc_middle::middle::cstore::{DepKind, ForeignModule, LinkagePreference, NativeLibrary}; +use rustc_middle::middle::exported_symbols::{ExportedSymbol, SymbolExportLevel}; +use rustc_middle::middle::lang_items; +use rustc_middle::mir; +use rustc_middle::ty::{self, ReprOptions, Ty}; use rustc_serialize::opaque::Encoder; use rustc_session::config::SymbolManglingVersion; use rustc_session::CrateDisambiguator; diff --git a/src/librustc/Cargo.toml b/src/librustc_middle/Cargo.toml similarity index 96% rename from src/librustc/Cargo.toml rename to src/librustc_middle/Cargo.toml index 1dd742c35496b..dd322b9da952b 100644 --- a/src/librustc/Cargo.toml +++ b/src/librustc_middle/Cargo.toml @@ -1,11 +1,11 @@ [package] authors = ["The Rust Project Developers"] -name = "rustc" +name = "rustc_middle" version = "0.0.0" edition = "2018" [lib] -name = "rustc" +name = "rustc_middle" path = "lib.rs" doctest = false diff --git a/src/librustc/README.md b/src/librustc_middle/README.md similarity index 100% rename from src/librustc/README.md rename to src/librustc_middle/README.md diff --git a/src/librustc_middle/arena.rs b/src/librustc_middle/arena.rs new file mode 100644 index 0000000000000..fcf6989043a54 --- /dev/null +++ b/src/librustc_middle/arena.rs @@ -0,0 +1,132 @@ +/// This declares a list of types which can be allocated by `Arena`. +/// +/// The `few` modifier will cause allocation to use the shared arena and recording the destructor. +/// This is faster and more memory efficient if there's only a few allocations of the type. +/// Leaving `few` out will cause the type to get its own dedicated `TypedArena` which is +/// faster and more memory efficient if there is lots of allocations. +/// +/// Specifying the `decode` modifier will add decode impls for &T and &[T] where T is the type +/// listed. These impls will appear in the implement_ty_decoder! macro. +#[macro_export] +macro_rules! arena_types { + ($macro:path, $args:tt, $tcx:lifetime) => ( + $macro!($args, [ + [] layouts: rustc_middle::ty::layout::Layout, + [] generics: rustc_middle::ty::Generics, + [] trait_def: rustc_middle::ty::TraitDef, + [] adt_def: rustc_middle::ty::AdtDef, + [] steal_mir: rustc_middle::ty::steal::Steal>, + [] mir: rustc_middle::mir::BodyAndCache<$tcx>, + [] steal_promoted: rustc_middle::ty::steal::Steal< + rustc_index::vec::IndexVec< + rustc_middle::mir::Promoted, + rustc_middle::mir::BodyAndCache<$tcx> + > + >, + [] promoted: rustc_index::vec::IndexVec< + rustc_middle::mir::Promoted, + rustc_middle::mir::BodyAndCache<$tcx> + >, + [decode] tables: rustc_middle::ty::TypeckTables<$tcx>, + [decode] borrowck_result: rustc_middle::mir::BorrowCheckResult<$tcx>, + [] const_allocs: rustc_middle::mir::interpret::Allocation, + [] vtable_method: Option<( + rustc_hir::def_id::DefId, + rustc_middle::ty::subst::SubstsRef<$tcx> + )>, + [few, decode] mir_keys: rustc_hir::def_id::DefIdSet, + [decode] specialization_graph: rustc_middle::traits::specialization_graph::Graph, + [] region_scope_tree: rustc_middle::middle::region::ScopeTree, + [] item_local_set: rustc_hir::ItemLocalSet, + [decode] mir_const_qualif: rustc_index::bit_set::BitSet, + [] trait_impls_of: rustc_middle::ty::trait_def::TraitImpls, + [] associated_items: rustc_middle::ty::AssociatedItems, + [] dropck_outlives: + rustc_middle::infer::canonical::Canonical<'tcx, + rustc_middle::infer::canonical::QueryResponse<'tcx, + rustc_middle::traits::query::DropckOutlivesResult<'tcx> + > + >, + [] normalize_projection_ty: + rustc_middle::infer::canonical::Canonical<'tcx, + rustc_middle::infer::canonical::QueryResponse<'tcx, + rustc_middle::traits::query::NormalizationResult<'tcx> + > + >, + [] implied_outlives_bounds: + rustc_middle::infer::canonical::Canonical<'tcx, + rustc_middle::infer::canonical::QueryResponse<'tcx, + Vec> + > + >, + [] type_op_subtype: + rustc_middle::infer::canonical::Canonical<'tcx, + rustc_middle::infer::canonical::QueryResponse<'tcx, ()> + >, + [] type_op_normalize_poly_fn_sig: + rustc_middle::infer::canonical::Canonical<'tcx, + rustc_middle::infer::canonical::QueryResponse<'tcx, rustc_middle::ty::PolyFnSig<'tcx>> + >, + [] type_op_normalize_fn_sig: + rustc_middle::infer::canonical::Canonical<'tcx, + rustc_middle::infer::canonical::QueryResponse<'tcx, rustc_middle::ty::FnSig<'tcx>> + >, + [] type_op_normalize_predicate: + rustc_middle::infer::canonical::Canonical<'tcx, + rustc_middle::infer::canonical::QueryResponse<'tcx, rustc_middle::ty::Predicate<'tcx>> + >, + [] type_op_normalize_ty: + rustc_middle::infer::canonical::Canonical<'tcx, + rustc_middle::infer::canonical::QueryResponse<'tcx, rustc_middle::ty::Ty<'tcx>> + >, + [few] crate_inherent_impls: rustc_middle::ty::CrateInherentImpls, + [few] upstream_monomorphizations: + rustc_hir::def_id::DefIdMap< + rustc_data_structures::fx::FxHashMap< + rustc_middle::ty::subst::SubstsRef<'tcx>, + rustc_hir::def_id::CrateNum + > + >, + [few] diagnostic_items: rustc_data_structures::fx::FxHashMap< + rustc_span::symbol::Symbol, + rustc_hir::def_id::DefId, + >, + [few] resolve_lifetimes: rustc_middle::middle::resolve_lifetime::ResolveLifetimes, + [few] lint_levels: rustc_middle::lint::LintLevelMap, + [few] stability_index: rustc_middle::middle::stability::Index<'tcx>, + [few] features: rustc_feature::Features, + [few] all_traits: Vec, + [few] privacy_access_levels: rustc_middle::middle::privacy::AccessLevels, + [few] target_features_whitelist: rustc_data_structures::fx::FxHashMap< + String, + Option + >, + [few] wasm_import_module_map: rustc_data_structures::fx::FxHashMap< + rustc_hir::def_id::DefId, + String + >, + [few] get_lib_features: rustc_middle::middle::lib_features::LibFeatures, + [few] defined_lib_features: rustc_middle::middle::lang_items::LanguageItems, + [few] visible_parent_map: rustc_hir::def_id::DefIdMap, + [few] foreign_module: rustc_middle::middle::cstore::ForeignModule, + [few] foreign_modules: Vec, + [few] reachable_non_generics: rustc_hir::def_id::DefIdMap< + rustc_middle::middle::exported_symbols::SymbolExportLevel + >, + [few] crate_variances: rustc_middle::ty::CrateVariancesMap<'tcx>, + [few] inferred_outlives_crate: rustc_middle::ty::CratePredicatesMap<'tcx>, + [] upvars: rustc_data_structures::fx::FxIndexMap, + + // Interned types + [] tys: rustc_middle::ty::TyS<$tcx>, + + // HIR query types + [few] indexed_hir: rustc_middle::hir::map::IndexedHir<$tcx>, + [few] hir_definitions: rustc_hir::definitions::Definitions, + [] hir_owner: rustc_middle::hir::Owner<$tcx>, + [] hir_owner_nodes: rustc_middle::hir::OwnerNodes<$tcx>, + ], $tcx); + ) +} + +arena_types!(arena::declare_arena, [], 'tcx); diff --git a/src/librustc/benches/lib.rs b/src/librustc_middle/benches/lib.rs similarity index 100% rename from src/librustc/benches/lib.rs rename to src/librustc_middle/benches/lib.rs diff --git a/src/librustc/build.rs b/src/librustc_middle/build.rs similarity index 100% rename from src/librustc/build.rs rename to src/librustc_middle/build.rs diff --git a/src/librustc/dep_graph/dep_node.rs b/src/librustc_middle/dep_graph/dep_node.rs similarity index 100% rename from src/librustc/dep_graph/dep_node.rs rename to src/librustc_middle/dep_graph/dep_node.rs diff --git a/src/librustc/dep_graph/mod.rs b/src/librustc_middle/dep_graph/mod.rs similarity index 100% rename from src/librustc/dep_graph/mod.rs rename to src/librustc_middle/dep_graph/mod.rs diff --git a/src/librustc/hir/exports.rs b/src/librustc_middle/hir/exports.rs similarity index 100% rename from src/librustc/hir/exports.rs rename to src/librustc_middle/hir/exports.rs diff --git a/src/librustc/hir/map/blocks.rs b/src/librustc_middle/hir/map/blocks.rs similarity index 100% rename from src/librustc/hir/map/blocks.rs rename to src/librustc_middle/hir/map/blocks.rs diff --git a/src/librustc/hir/map/collector.rs b/src/librustc_middle/hir/map/collector.rs similarity index 100% rename from src/librustc/hir/map/collector.rs rename to src/librustc_middle/hir/map/collector.rs diff --git a/src/librustc/hir/map/mod.rs b/src/librustc_middle/hir/map/mod.rs similarity index 100% rename from src/librustc/hir/map/mod.rs rename to src/librustc_middle/hir/map/mod.rs diff --git a/src/librustc/hir/mod.rs b/src/librustc_middle/hir/mod.rs similarity index 100% rename from src/librustc/hir/mod.rs rename to src/librustc_middle/hir/mod.rs diff --git a/src/librustc/ich/hcx.rs b/src/librustc_middle/ich/hcx.rs similarity index 100% rename from src/librustc/ich/hcx.rs rename to src/librustc_middle/ich/hcx.rs diff --git a/src/librustc/ich/impls_hir.rs b/src/librustc_middle/ich/impls_hir.rs similarity index 100% rename from src/librustc/ich/impls_hir.rs rename to src/librustc_middle/ich/impls_hir.rs diff --git a/src/librustc/ich/impls_syntax.rs b/src/librustc_middle/ich/impls_syntax.rs similarity index 100% rename from src/librustc/ich/impls_syntax.rs rename to src/librustc_middle/ich/impls_syntax.rs diff --git a/src/librustc/ich/impls_ty.rs b/src/librustc_middle/ich/impls_ty.rs similarity index 99% rename from src/librustc/ich/impls_ty.rs rename to src/librustc_middle/ich/impls_ty.rs index 41cc8cbaebb6e..226277e440a78 100644 --- a/src/librustc/ich/impls_ty.rs +++ b/src/librustc_middle/ich/impls_ty.rs @@ -1,5 +1,5 @@ //! This module contains `HashStable` implementations for various data types -//! from rustc::ty in no particular order. +//! from `rustc_middle::ty` in no particular order. use crate::ich::{NodeIdHashingMode, StableHashingContext}; use crate::middle::region; diff --git a/src/librustc/ich/mod.rs b/src/librustc_middle/ich/mod.rs similarity index 100% rename from src/librustc/ich/mod.rs rename to src/librustc_middle/ich/mod.rs diff --git a/src/librustc/infer/canonical.rs b/src/librustc_middle/infer/canonical.rs similarity index 100% rename from src/librustc/infer/canonical.rs rename to src/librustc_middle/infer/canonical.rs diff --git a/src/librustc/infer/mod.rs b/src/librustc_middle/infer/mod.rs similarity index 100% rename from src/librustc/infer/mod.rs rename to src/librustc_middle/infer/mod.rs diff --git a/src/librustc/infer/unify_key.rs b/src/librustc_middle/infer/unify_key.rs similarity index 100% rename from src/librustc/infer/unify_key.rs rename to src/librustc_middle/infer/unify_key.rs diff --git a/src/librustc/lib.rs b/src/librustc_middle/lib.rs similarity index 96% rename from src/librustc/lib.rs rename to src/librustc_middle/lib.rs index 6f18560a02d7f..4ed03fd21ad18 100644 --- a/src/librustc/lib.rs +++ b/src/librustc_middle/lib.rs @@ -92,5 +92,5 @@ pub mod util { pub mod common; } -// Allows macros to refer to this crate as `::rustc` -extern crate self as rustc; +// Allows macros to refer to this crate as `::rustc_middle` +extern crate self as rustc_middle; diff --git a/src/librustc/lint.rs b/src/librustc_middle/lint.rs similarity index 100% rename from src/librustc/lint.rs rename to src/librustc_middle/lint.rs diff --git a/src/librustc/macros.rs b/src/librustc_middle/macros.rs similarity index 100% rename from src/librustc/macros.rs rename to src/librustc_middle/macros.rs diff --git a/src/librustc/middle/codegen_fn_attrs.rs b/src/librustc_middle/middle/codegen_fn_attrs.rs similarity index 100% rename from src/librustc/middle/codegen_fn_attrs.rs rename to src/librustc_middle/middle/codegen_fn_attrs.rs diff --git a/src/librustc/middle/cstore.rs b/src/librustc_middle/middle/cstore.rs similarity index 100% rename from src/librustc/middle/cstore.rs rename to src/librustc_middle/middle/cstore.rs diff --git a/src/librustc/middle/dependency_format.rs b/src/librustc_middle/middle/dependency_format.rs similarity index 100% rename from src/librustc/middle/dependency_format.rs rename to src/librustc_middle/middle/dependency_format.rs diff --git a/src/librustc/middle/exported_symbols.rs b/src/librustc_middle/middle/exported_symbols.rs similarity index 100% rename from src/librustc/middle/exported_symbols.rs rename to src/librustc_middle/middle/exported_symbols.rs diff --git a/src/librustc/middle/free_region.rs b/src/librustc_middle/middle/free_region.rs similarity index 100% rename from src/librustc/middle/free_region.rs rename to src/librustc_middle/middle/free_region.rs diff --git a/src/librustc/middle/lang_items.rs b/src/librustc_middle/middle/lang_items.rs similarity index 100% rename from src/librustc/middle/lang_items.rs rename to src/librustc_middle/middle/lang_items.rs diff --git a/src/librustc/middle/limits.rs b/src/librustc_middle/middle/limits.rs similarity index 99% rename from src/librustc/middle/limits.rs rename to src/librustc_middle/middle/limits.rs index 6de53c703e165..c43c22cd61ba6 100644 --- a/src/librustc/middle/limits.rs +++ b/src/librustc_middle/middle/limits.rs @@ -5,7 +5,7 @@ //! this via an attribute on the crate like `#![recursion_limit="22"]`. This pass //! just peeks and looks for that attribute. -use rustc::bug; +use crate::bug; use rustc_ast::ast; use rustc_data_structures::sync::Once; use rustc_session::Session; diff --git a/src/librustc/middle/mod.rs b/src/librustc_middle/middle/mod.rs similarity index 100% rename from src/librustc/middle/mod.rs rename to src/librustc_middle/middle/mod.rs diff --git a/src/librustc/middle/privacy.rs b/src/librustc_middle/middle/privacy.rs similarity index 100% rename from src/librustc/middle/privacy.rs rename to src/librustc_middle/middle/privacy.rs diff --git a/src/librustc/middle/region.rs b/src/librustc_middle/middle/region.rs similarity index 99% rename from src/librustc/middle/region.rs rename to src/librustc_middle/middle/region.rs index 73251ee2680df..dd9ab102129e6 100644 --- a/src/librustc/middle/region.rs +++ b/src/librustc_middle/middle/region.rs @@ -293,7 +293,7 @@ pub struct ScopeTree { /// /// Then: /// 1. From the ordering guarantee of HIR visitors (see - /// `rustc::hir::intravisit`), `D` does not dominate `U`. + /// `rustc_hir::intravisit`), `D` does not dominate `U`. /// 2. Therefore, `D` is *potentially* storage-dead at `U` (because /// we might visit `U` without ever getting to `D`). /// 3. However, we guarantee that at each HIR point, each diff --git a/src/librustc/middle/resolve_lifetime.rs b/src/librustc_middle/middle/resolve_lifetime.rs similarity index 100% rename from src/librustc/middle/resolve_lifetime.rs rename to src/librustc_middle/middle/resolve_lifetime.rs diff --git a/src/librustc/middle/stability.rs b/src/librustc_middle/middle/stability.rs similarity index 100% rename from src/librustc/middle/stability.rs rename to src/librustc_middle/middle/stability.rs diff --git a/src/librustc/mir/cache.rs b/src/librustc_middle/mir/cache.rs similarity index 100% rename from src/librustc/mir/cache.rs rename to src/librustc_middle/mir/cache.rs diff --git a/src/librustc/mir/interpret/allocation.rs b/src/librustc_middle/mir/interpret/allocation.rs similarity index 100% rename from src/librustc/mir/interpret/allocation.rs rename to src/librustc_middle/mir/interpret/allocation.rs diff --git a/src/librustc/mir/interpret/error.rs b/src/librustc_middle/mir/interpret/error.rs similarity index 100% rename from src/librustc/mir/interpret/error.rs rename to src/librustc_middle/mir/interpret/error.rs diff --git a/src/librustc/mir/interpret/mod.rs b/src/librustc_middle/mir/interpret/mod.rs similarity index 100% rename from src/librustc/mir/interpret/mod.rs rename to src/librustc_middle/mir/interpret/mod.rs diff --git a/src/librustc/mir/interpret/pointer.rs b/src/librustc_middle/mir/interpret/pointer.rs similarity index 100% rename from src/librustc/mir/interpret/pointer.rs rename to src/librustc_middle/mir/interpret/pointer.rs diff --git a/src/librustc/mir/interpret/queries.rs b/src/librustc_middle/mir/interpret/queries.rs similarity index 100% rename from src/librustc/mir/interpret/queries.rs rename to src/librustc_middle/mir/interpret/queries.rs diff --git a/src/librustc/mir/interpret/value.rs b/src/librustc_middle/mir/interpret/value.rs similarity index 100% rename from src/librustc/mir/interpret/value.rs rename to src/librustc_middle/mir/interpret/value.rs diff --git a/src/librustc/mir/mod.rs b/src/librustc_middle/mir/mod.rs similarity index 100% rename from src/librustc/mir/mod.rs rename to src/librustc_middle/mir/mod.rs diff --git a/src/librustc/mir/mono.rs b/src/librustc_middle/mir/mono.rs similarity index 100% rename from src/librustc/mir/mono.rs rename to src/librustc_middle/mir/mono.rs diff --git a/src/librustc/mir/query.rs b/src/librustc_middle/mir/query.rs similarity index 100% rename from src/librustc/mir/query.rs rename to src/librustc_middle/mir/query.rs diff --git a/src/librustc/mir/tcx.rs b/src/librustc_middle/mir/tcx.rs similarity index 100% rename from src/librustc/mir/tcx.rs rename to src/librustc_middle/mir/tcx.rs diff --git a/src/librustc/mir/traversal.rs b/src/librustc_middle/mir/traversal.rs similarity index 100% rename from src/librustc/mir/traversal.rs rename to src/librustc_middle/mir/traversal.rs diff --git a/src/librustc/mir/type_foldable.rs b/src/librustc_middle/mir/type_foldable.rs similarity index 100% rename from src/librustc/mir/type_foldable.rs rename to src/librustc_middle/mir/type_foldable.rs diff --git a/src/librustc/mir/visit.rs b/src/librustc_middle/mir/visit.rs similarity index 100% rename from src/librustc/mir/visit.rs rename to src/librustc_middle/mir/visit.rs diff --git a/src/librustc/query/mod.rs b/src/librustc_middle/query/mod.rs similarity index 100% rename from src/librustc/query/mod.rs rename to src/librustc_middle/query/mod.rs diff --git a/src/librustc/tests.rs b/src/librustc_middle/tests.rs similarity index 84% rename from src/librustc/tests.rs rename to src/librustc_middle/tests.rs index cf3ea2ffa9397..757e0bd3bfbf9 100644 --- a/src/librustc/tests.rs +++ b/src/librustc_middle/tests.rs @@ -1,6 +1,6 @@ use super::*; -// FIXME(#27438): right now the unit tests of librustc don't refer to any actual +// FIXME(#27438): right now the unit tests of librustc_middle don't refer to any actual // functions generated in librustc_data_structures (all // references are through generic functions), but statics are // referenced from time to time. Due to this bug we won't diff --git a/src/librustc/traits/mod.rs b/src/librustc_middle/traits/mod.rs similarity index 100% rename from src/librustc/traits/mod.rs rename to src/librustc_middle/traits/mod.rs diff --git a/src/librustc/traits/query.rs b/src/librustc_middle/traits/query.rs similarity index 100% rename from src/librustc/traits/query.rs rename to src/librustc_middle/traits/query.rs diff --git a/src/librustc/traits/select.rs b/src/librustc_middle/traits/select.rs similarity index 100% rename from src/librustc/traits/select.rs rename to src/librustc_middle/traits/select.rs diff --git a/src/librustc/traits/specialization_graph.rs b/src/librustc_middle/traits/specialization_graph.rs similarity index 100% rename from src/librustc/traits/specialization_graph.rs rename to src/librustc_middle/traits/specialization_graph.rs diff --git a/src/librustc/traits/structural_impls.rs b/src/librustc_middle/traits/structural_impls.rs similarity index 100% rename from src/librustc/traits/structural_impls.rs rename to src/librustc_middle/traits/structural_impls.rs diff --git a/src/librustc/ty/_match.rs b/src/librustc_middle/ty/_match.rs similarity index 100% rename from src/librustc/ty/_match.rs rename to src/librustc_middle/ty/_match.rs diff --git a/src/librustc/ty/adjustment.rs b/src/librustc_middle/ty/adjustment.rs similarity index 100% rename from src/librustc/ty/adjustment.rs rename to src/librustc_middle/ty/adjustment.rs diff --git a/src/librustc/ty/binding.rs b/src/librustc_middle/ty/binding.rs similarity index 100% rename from src/librustc/ty/binding.rs rename to src/librustc_middle/ty/binding.rs diff --git a/src/librustc/ty/cast.rs b/src/librustc_middle/ty/cast.rs similarity index 100% rename from src/librustc/ty/cast.rs rename to src/librustc_middle/ty/cast.rs diff --git a/src/librustc/ty/codec.rs b/src/librustc_middle/ty/codec.rs similarity index 100% rename from src/librustc/ty/codec.rs rename to src/librustc_middle/ty/codec.rs diff --git a/src/librustc/ty/context.rs b/src/librustc_middle/ty/context.rs similarity index 99% rename from src/librustc/ty/context.rs rename to src/librustc_middle/ty/context.rs index 0ab91d7e1127d..be889f66228d5 100644 --- a/src/librustc/ty/context.rs +++ b/src/librustc_middle/ty/context.rs @@ -6,6 +6,7 @@ use crate::dep_graph::{self, DepConstructor}; use crate::hir::exports::Export; use crate::ich::{NodeIdHashingMode, StableHashingContext}; use crate::infer::canonical::{Canonical, CanonicalVarInfo, CanonicalVarInfos}; +use crate::lint::LintDiagnosticBuilder; use crate::lint::{struct_lint_level, LintSource}; use crate::middle; use crate::middle::cstore::CrateStoreDyn; @@ -38,7 +39,6 @@ use crate::ty::{ExistentialPredicate, InferTy, ParamTy, PolyFnSig, Predicate, Pr use crate::ty::{InferConst, ParamConst}; use crate::ty::{List, TyKind, TyS}; use crate::util::common::ErrorReported; -use rustc::lint::LintDiagnosticBuilder; use rustc_ast::ast; use rustc_ast::expand::allocator::AllocatorKind; use rustc_ast::node_id::NodeMap; diff --git a/src/librustc/ty/diagnostics.rs b/src/librustc_middle/ty/diagnostics.rs similarity index 100% rename from src/librustc/ty/diagnostics.rs rename to src/librustc_middle/ty/diagnostics.rs diff --git a/src/librustc/ty/erase_regions.rs b/src/librustc_middle/ty/erase_regions.rs similarity index 100% rename from src/librustc/ty/erase_regions.rs rename to src/librustc_middle/ty/erase_regions.rs diff --git a/src/librustc/ty/error.rs b/src/librustc_middle/ty/error.rs similarity index 100% rename from src/librustc/ty/error.rs rename to src/librustc_middle/ty/error.rs diff --git a/src/librustc/ty/fast_reject.rs b/src/librustc_middle/ty/fast_reject.rs similarity index 100% rename from src/librustc/ty/fast_reject.rs rename to src/librustc_middle/ty/fast_reject.rs diff --git a/src/librustc/ty/flags.rs b/src/librustc_middle/ty/flags.rs similarity index 100% rename from src/librustc/ty/flags.rs rename to src/librustc_middle/ty/flags.rs diff --git a/src/librustc/ty/fold.rs b/src/librustc_middle/ty/fold.rs similarity index 100% rename from src/librustc/ty/fold.rs rename to src/librustc_middle/ty/fold.rs diff --git a/src/librustc/ty/free_region_map.rs b/src/librustc_middle/ty/free_region_map.rs similarity index 100% rename from src/librustc/ty/free_region_map.rs rename to src/librustc_middle/ty/free_region_map.rs diff --git a/src/librustc/ty/inhabitedness/def_id_forest.rs b/src/librustc_middle/ty/inhabitedness/def_id_forest.rs similarity index 100% rename from src/librustc/ty/inhabitedness/def_id_forest.rs rename to src/librustc_middle/ty/inhabitedness/def_id_forest.rs diff --git a/src/librustc/ty/inhabitedness/mod.rs b/src/librustc_middle/ty/inhabitedness/mod.rs similarity index 100% rename from src/librustc/ty/inhabitedness/mod.rs rename to src/librustc_middle/ty/inhabitedness/mod.rs diff --git a/src/librustc/ty/instance.rs b/src/librustc_middle/ty/instance.rs similarity index 100% rename from src/librustc/ty/instance.rs rename to src/librustc_middle/ty/instance.rs diff --git a/src/librustc/ty/layout.rs b/src/librustc_middle/ty/layout.rs similarity index 100% rename from src/librustc/ty/layout.rs rename to src/librustc_middle/ty/layout.rs diff --git a/src/librustc/ty/mod.rs b/src/librustc_middle/ty/mod.rs similarity index 100% rename from src/librustc/ty/mod.rs rename to src/librustc_middle/ty/mod.rs diff --git a/src/librustc/ty/normalize_erasing_regions.rs b/src/librustc_middle/ty/normalize_erasing_regions.rs similarity index 100% rename from src/librustc/ty/normalize_erasing_regions.rs rename to src/librustc_middle/ty/normalize_erasing_regions.rs diff --git a/src/librustc/ty/outlives.rs b/src/librustc_middle/ty/outlives.rs similarity index 100% rename from src/librustc/ty/outlives.rs rename to src/librustc_middle/ty/outlives.rs diff --git a/src/librustc/ty/print/mod.rs b/src/librustc_middle/ty/print/mod.rs similarity index 100% rename from src/librustc/ty/print/mod.rs rename to src/librustc_middle/ty/print/mod.rs diff --git a/src/librustc/ty/print/obsolete.rs b/src/librustc_middle/ty/print/obsolete.rs similarity index 98% rename from src/librustc/ty/print/obsolete.rs rename to src/librustc_middle/ty/print/obsolete.rs index 7605d44c7f30f..757a8bd23f62b 100644 --- a/src/librustc/ty/print/obsolete.rs +++ b/src/librustc_middle/ty/print/obsolete.rs @@ -5,9 +5,9 @@ //! Note: A lot of this could looks very similar to what's already in `ty::print`. //! FIXME(eddyb) implement a custom `PrettyPrinter` for this. -use rustc::bug; -use rustc::ty::subst::SubstsRef; -use rustc::ty::{self, Const, Instance, Ty, TyCtxt}; +use crate::bug; +use crate::ty::subst::SubstsRef; +use crate::ty::{self, Const, Instance, Ty, TyCtxt}; use rustc_hir as hir; use rustc_hir::def_id::DefId; use std::fmt::Write; diff --git a/src/librustc/ty/print/pretty.rs b/src/librustc_middle/ty/print/pretty.rs similarity index 99% rename from src/librustc/ty/print/pretty.rs rename to src/librustc_middle/ty/print/pretty.rs index b1626d95eb3e8..0993b738b44e8 100644 --- a/src/librustc/ty/print/pretty.rs +++ b/src/librustc_middle/ty/print/pretty.rs @@ -561,7 +561,7 @@ pub trait PrettyPrinter<'tcx>: // We use verbose printing in 'NO_QUERIES' mode, to // avoid needing to call `predicates_of`. This should // only affect certain debug messages (e.g. messages printed - // from `rustc::ty` during the computation of `tcx.predicates_of`), + // from `rustc_middle::ty` during the computation of `tcx.predicates_of`), // and should have no effect on any compiler output. if self.tcx().sess.verbose() || NO_QUERIES.with(|q| q.get()) { p!(write("Opaque({:?}, {:?})", def_id, substs)); diff --git a/src/librustc/ty/query/README.md b/src/librustc_middle/ty/query/README.md similarity index 100% rename from src/librustc/ty/query/README.md rename to src/librustc_middle/ty/query/README.md diff --git a/src/librustc/ty/query/job.rs b/src/librustc_middle/ty/query/job.rs similarity index 100% rename from src/librustc/ty/query/job.rs rename to src/librustc_middle/ty/query/job.rs diff --git a/src/librustc/ty/query/keys.rs b/src/librustc_middle/ty/query/keys.rs similarity index 100% rename from src/librustc/ty/query/keys.rs rename to src/librustc_middle/ty/query/keys.rs diff --git a/src/librustc/ty/query/mod.rs b/src/librustc_middle/ty/query/mod.rs similarity index 100% rename from src/librustc/ty/query/mod.rs rename to src/librustc_middle/ty/query/mod.rs diff --git a/src/librustc/ty/query/on_disk_cache.rs b/src/librustc_middle/ty/query/on_disk_cache.rs similarity index 100% rename from src/librustc/ty/query/on_disk_cache.rs rename to src/librustc_middle/ty/query/on_disk_cache.rs diff --git a/src/librustc/ty/query/plumbing.rs b/src/librustc_middle/ty/query/plumbing.rs similarity index 100% rename from src/librustc/ty/query/plumbing.rs rename to src/librustc_middle/ty/query/plumbing.rs diff --git a/src/librustc/ty/query/profiling_support.rs b/src/librustc_middle/ty/query/profiling_support.rs similarity index 100% rename from src/librustc/ty/query/profiling_support.rs rename to src/librustc_middle/ty/query/profiling_support.rs diff --git a/src/librustc/ty/query/stats.rs b/src/librustc_middle/ty/query/stats.rs similarity index 100% rename from src/librustc/ty/query/stats.rs rename to src/librustc_middle/ty/query/stats.rs diff --git a/src/librustc/ty/query/values.rs b/src/librustc_middle/ty/query/values.rs similarity index 100% rename from src/librustc/ty/query/values.rs rename to src/librustc_middle/ty/query/values.rs diff --git a/src/librustc/ty/relate.rs b/src/librustc_middle/ty/relate.rs similarity index 100% rename from src/librustc/ty/relate.rs rename to src/librustc_middle/ty/relate.rs diff --git a/src/librustc/ty/steal.rs b/src/librustc_middle/ty/steal.rs similarity index 100% rename from src/librustc/ty/steal.rs rename to src/librustc_middle/ty/steal.rs diff --git a/src/librustc/ty/structural_impls.rs b/src/librustc_middle/ty/structural_impls.rs similarity index 100% rename from src/librustc/ty/structural_impls.rs rename to src/librustc_middle/ty/structural_impls.rs diff --git a/src/librustc/ty/sty.rs b/src/librustc_middle/ty/sty.rs similarity index 99% rename from src/librustc/ty/sty.rs rename to src/librustc_middle/ty/sty.rs index d440e84e15c45..57df50dc1a05d 100644 --- a/src/librustc/ty/sty.rs +++ b/src/librustc_middle/ty/sty.rs @@ -1238,7 +1238,7 @@ pub type Region<'tcx> = &'tcx RegionKind; /// /// The scope regions are related to one another based on the AST /// structure. (See `RegionRelations` type, and particularly the -/// `rustc::middle::region::ScopeTree`.) +/// `rustc_middle::middle::region::ScopeTree`.) /// /// Note that inference variables and bound regions are not included /// in this diagram. In the case of inference variables, they should diff --git a/src/librustc/ty/subst.rs b/src/librustc_middle/ty/subst.rs similarity index 100% rename from src/librustc/ty/subst.rs rename to src/librustc_middle/ty/subst.rs diff --git a/src/librustc/ty/trait_def.rs b/src/librustc_middle/ty/trait_def.rs similarity index 100% rename from src/librustc/ty/trait_def.rs rename to src/librustc_middle/ty/trait_def.rs diff --git a/src/librustc/ty/util.rs b/src/librustc_middle/ty/util.rs similarity index 100% rename from src/librustc/ty/util.rs rename to src/librustc_middle/ty/util.rs diff --git a/src/librustc/ty/walk.rs b/src/librustc_middle/ty/walk.rs similarity index 100% rename from src/librustc/ty/walk.rs rename to src/librustc_middle/ty/walk.rs diff --git a/src/librustc/util/bug.rs b/src/librustc_middle/util/bug.rs similarity index 100% rename from src/librustc/util/bug.rs rename to src/librustc_middle/util/bug.rs diff --git a/src/librustc/util/common.rs b/src/librustc_middle/util/common.rs similarity index 100% rename from src/librustc/util/common.rs rename to src/librustc_middle/util/common.rs diff --git a/src/librustc/util/common/tests.rs b/src/librustc_middle/util/common/tests.rs similarity index 100% rename from src/librustc/util/common/tests.rs rename to src/librustc_middle/util/common/tests.rs diff --git a/src/librustc_mir/Cargo.toml b/src/librustc_mir/Cargo.toml index 256a80076b923..f9b195e92eb9b 100644 --- a/src/librustc_mir/Cargo.toml +++ b/src/librustc_mir/Cargo.toml @@ -16,7 +16,7 @@ itertools = "0.8" log = "0.4" log_settings = "0.1.1" polonius-engine = "0.12.0" -rustc = { path = "../librustc" } +rustc_middle = { path = "../librustc_middle" } rustc_ast_pretty = { path = "../librustc_ast_pretty" } rustc_attr = { path = "../librustc_attr" } rustc_data_structures = { path = "../librustc_data_structures" } diff --git a/src/librustc_mir/borrow_check/borrow_set.rs b/src/librustc_mir/borrow_check/borrow_set.rs index 919d3f2ab321c..0ade0829ec306 100644 --- a/src/librustc_mir/borrow_check/borrow_set.rs +++ b/src/librustc_mir/borrow_check/borrow_set.rs @@ -3,13 +3,13 @@ use crate::borrow_check::path_utils::allow_two_phase_borrow; use crate::borrow_check::place_ext::PlaceExt; use crate::dataflow::indexes::BorrowIndex; use crate::dataflow::move_paths::MoveData; -use rustc::mir::traversal; -use rustc::mir::visit::{MutatingUseContext, NonUseContext, PlaceContext, Visitor}; -use rustc::mir::{self, Body, Local, Location, ReadOnlyBodyAndCache}; -use rustc::ty::{RegionVid, TyCtxt}; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_index::bit_set::BitSet; use rustc_index::vec::IndexVec; +use rustc_middle::mir::traversal; +use rustc_middle::mir::visit::{MutatingUseContext, NonUseContext, PlaceContext, Visitor}; +use rustc_middle::mir::{self, Body, Local, Location, ReadOnlyBodyAndCache}; +use rustc_middle::ty::{RegionVid, TyCtxt}; use std::fmt; use std::ops::Index; diff --git a/src/librustc_mir/borrow_check/constraint_generation.rs b/src/librustc_mir/borrow_check/constraint_generation.rs index 46cfe0897a9ac..c7f395885a557 100644 --- a/src/librustc_mir/borrow_check/constraint_generation.rs +++ b/src/librustc_mir/borrow_check/constraint_generation.rs @@ -1,13 +1,13 @@ -use rustc::mir::visit::TyContext; -use rustc::mir::visit::Visitor; -use rustc::mir::{ +use rustc_infer::infer::InferCtxt; +use rustc_middle::mir::visit::TyContext; +use rustc_middle::mir::visit::Visitor; +use rustc_middle::mir::{ BasicBlock, BasicBlockData, Body, Local, Location, Place, PlaceRef, ProjectionElem, Rvalue, SourceInfo, Statement, StatementKind, Terminator, TerminatorKind, UserTypeProjection, }; -use rustc::ty::fold::TypeFoldable; -use rustc::ty::subst::SubstsRef; -use rustc::ty::{self, RegionVid, Ty}; -use rustc_infer::infer::InferCtxt; +use rustc_middle::ty::fold::TypeFoldable; +use rustc_middle::ty::subst::SubstsRef; +use rustc_middle::ty::{self, RegionVid, Ty}; use crate::borrow_check::{ borrow_set::BorrowSet, facts::AllFacts, location::LocationTable, nll::ToRegionVid, diff --git a/src/librustc_mir/borrow_check/constraints/graph.rs b/src/librustc_mir/borrow_check/constraints/graph.rs index c60a11e348d70..f3f6b8c10da7c 100644 --- a/src/librustc_mir/borrow_check/constraints/graph.rs +++ b/src/librustc_mir/borrow_check/constraints/graph.rs @@ -1,7 +1,7 @@ -use rustc::mir::ConstraintCategory; -use rustc::ty::RegionVid; use rustc_data_structures::graph; use rustc_index::vec::IndexVec; +use rustc_middle::mir::ConstraintCategory; +use rustc_middle::ty::RegionVid; use rustc_span::DUMMY_SP; use crate::borrow_check::{ diff --git a/src/librustc_mir/borrow_check/constraints/mod.rs b/src/librustc_mir/borrow_check/constraints/mod.rs index ef70b127ac5bd..3772b7d8f986d 100644 --- a/src/librustc_mir/borrow_check/constraints/mod.rs +++ b/src/librustc_mir/borrow_check/constraints/mod.rs @@ -1,7 +1,7 @@ -use rustc::mir::ConstraintCategory; -use rustc::ty::RegionVid; use rustc_data_structures::graph::scc::Sccs; use rustc_index::vec::IndexVec; +use rustc_middle::mir::ConstraintCategory; +use rustc_middle::ty::RegionVid; use std::fmt; use std::ops::Index; diff --git a/src/librustc_mir/borrow_check/diagnostics/conflict_errors.rs b/src/librustc_mir/borrow_check/diagnostics/conflict_errors.rs index 083b24e12a549..428c3b44f630e 100644 --- a/src/librustc_mir/borrow_check/diagnostics/conflict_errors.rs +++ b/src/librustc_mir/borrow_check/diagnostics/conflict_errors.rs @@ -1,15 +1,15 @@ -use rustc::mir::{ - self, AggregateKind, BindingForm, BorrowKind, ClearCrossCrate, ConstraintCategory, - FakeReadCause, Local, LocalDecl, LocalInfo, LocalKind, Location, Operand, Place, PlaceRef, - ProjectionElem, Rvalue, Statement, StatementKind, TerminatorKind, VarBindingForm, -}; -use rustc::ty::{self, Ty}; use rustc_data_structures::fx::FxHashSet; use rustc_errors::{Applicability, DiagnosticBuilder}; use rustc_hir as hir; use rustc_hir::def_id::DefId; use rustc_hir::{AsyncGeneratorKind, GeneratorKind}; use rustc_index::vec::Idx; +use rustc_middle::mir::{ + self, AggregateKind, BindingForm, BorrowKind, ClearCrossCrate, ConstraintCategory, + FakeReadCause, Local, LocalDecl, LocalInfo, LocalKind, Location, Operand, Place, PlaceRef, + ProjectionElem, Rvalue, Statement, StatementKind, TerminatorKind, VarBindingForm, +}; +use rustc_middle::ty::{self, Ty}; use rustc_span::source_map::DesugaringKind; use rustc_span::Span; use rustc_trait_selection::traits::error_reporting::suggest_constraining_type_param; @@ -1541,7 +1541,7 @@ impl<'cx, 'tcx> MirBorrowckCtxt<'cx, 'tcx> { /// Describe the reason for the fake borrow that was assigned to `place`. fn classify_immutable_section(&self, place: &Place<'tcx>) -> Option<&'static str> { - use rustc::mir::visit::Visitor; + use rustc_middle::mir::visit::Visitor; struct FakeReadCauseFinder<'a, 'tcx> { place: &'a Place<'tcx>, cause: Option, @@ -1821,7 +1821,7 @@ impl<'cx, 'tcx> MirBorrowckCtxt<'cx, 'tcx> { for (index, argument) in sig.inputs().skip_binder().iter().enumerate() { if let ty::Ref(argument_region, _, _) = argument.kind { if argument_region == return_region { - // Need to use the `rustc::ty` types to compare against the + // Need to use the `rustc_middle::ty` types to compare against the // `return_region`. Then use the `rustc_hir` type to get only // the lifetime span. if let hir::TyKind::Rptr(lifetime, _) = &fn_decl.inputs[index].kind { diff --git a/src/librustc_mir/borrow_check/diagnostics/explain_borrow.rs b/src/librustc_mir/borrow_check/diagnostics/explain_borrow.rs index 6475677988fbb..ca42ac805ec72 100644 --- a/src/librustc_mir/borrow_check/diagnostics/explain_borrow.rs +++ b/src/librustc_mir/borrow_check/diagnostics/explain_borrow.rs @@ -2,16 +2,16 @@ use std::collections::VecDeque; -use rustc::mir::{ - Body, CastKind, ConstraintCategory, FakeReadCause, Local, Location, Operand, Place, Rvalue, - Statement, StatementKind, TerminatorKind, -}; -use rustc::ty::adjustment::PointerCast; -use rustc::ty::{self, RegionVid, TyCtxt}; use rustc_data_structures::fx::FxHashSet; use rustc_errors::{Applicability, DiagnosticBuilder}; use rustc_index::vec::IndexVec; use rustc_infer::infer::NLLRegionVariableOrigin; +use rustc_middle::mir::{ + Body, CastKind, ConstraintCategory, FakeReadCause, Local, Location, Operand, Place, Rvalue, + Statement, StatementKind, TerminatorKind, +}; +use rustc_middle::ty::adjustment::PointerCast; +use rustc_middle::ty::{self, RegionVid, TyCtxt}; use rustc_span::symbol::Symbol; use rustc_span::Span; diff --git a/src/librustc_mir/borrow_check/diagnostics/find_use.rs b/src/librustc_mir/borrow_check/diagnostics/find_use.rs index ca4141d5fa51c..6c6bde8ae2cbb 100644 --- a/src/librustc_mir/borrow_check/diagnostics/find_use.rs +++ b/src/librustc_mir/borrow_check/diagnostics/find_use.rs @@ -6,10 +6,10 @@ use crate::borrow_check::{ region_infer::{Cause, RegionInferenceContext}, }; use crate::util::liveness::{self, DefUse}; -use rustc::mir::visit::{MirVisitable, PlaceContext, Visitor}; -use rustc::mir::{Body, Local, Location}; -use rustc::ty::{RegionVid, TyCtxt}; use rustc_data_structures::fx::FxHashSet; +use rustc_middle::mir::visit::{MirVisitable, PlaceContext, Visitor}; +use rustc_middle::mir::{Body, Local, Location}; +use rustc_middle::ty::{RegionVid, TyCtxt}; crate fn find<'tcx>( body: &Body<'tcx>, diff --git a/src/librustc_mir/borrow_check/diagnostics/mod.rs b/src/librustc_mir/borrow_check/diagnostics/mod.rs index 605093d8acad2..2991f29949aa0 100644 --- a/src/librustc_mir/borrow_check/diagnostics/mod.rs +++ b/src/librustc_mir/borrow_check/diagnostics/mod.rs @@ -1,17 +1,17 @@ //! Borrow checker diagnostics. -use rustc::mir::{ - AggregateKind, Constant, Field, Local, LocalInfo, LocalKind, Location, Operand, Place, - PlaceRef, ProjectionElem, Rvalue, Statement, StatementKind, Terminator, TerminatorKind, -}; -use rustc::ty::layout::VariantIdx; -use rustc::ty::print::Print; -use rustc::ty::{self, DefIdTree, Ty, TyCtxt}; use rustc_errors::DiagnosticBuilder; use rustc_hir as hir; use rustc_hir::def::Namespace; use rustc_hir::def_id::DefId; use rustc_hir::GeneratorKind; +use rustc_middle::mir::{ + AggregateKind, Constant, Field, Local, LocalInfo, LocalKind, Location, Operand, Place, + PlaceRef, ProjectionElem, Rvalue, Statement, StatementKind, Terminator, TerminatorKind, +}; +use rustc_middle::ty::layout::VariantIdx; +use rustc_middle::ty::print::Print; +use rustc_middle::ty::{self, DefIdTree, Ty, TyCtxt}; use rustc_span::Span; use super::borrow_set::BorrowData; diff --git a/src/librustc_mir/borrow_check/diagnostics/move_errors.rs b/src/librustc_mir/borrow_check/diagnostics/move_errors.rs index 2cdc1ced0bbea..3c198dc74ce85 100644 --- a/src/librustc_mir/borrow_check/diagnostics/move_errors.rs +++ b/src/librustc_mir/borrow_check/diagnostics/move_errors.rs @@ -1,6 +1,6 @@ -use rustc::mir::*; -use rustc::ty; use rustc_errors::{Applicability, DiagnosticBuilder}; +use rustc_middle::mir::*; +use rustc_middle::ty; use rustc_span::source_map::DesugaringKind; use rustc_span::{Span, Symbol}; diff --git a/src/librustc_mir/borrow_check/diagnostics/mutability_errors.rs b/src/librustc_mir/borrow_check/diagnostics/mutability_errors.rs index f224041270dcc..5d6d287b72a39 100644 --- a/src/librustc_mir/borrow_check/diagnostics/mutability_errors.rs +++ b/src/librustc_mir/borrow_check/diagnostics/mutability_errors.rs @@ -1,9 +1,9 @@ -use rustc::mir::{self, ClearCrossCrate, Local, LocalInfo, Location}; -use rustc::mir::{Mutability, Place, PlaceRef, ProjectionElem}; -use rustc::ty::{self, Ty, TyCtxt}; use rustc_hir as hir; use rustc_hir::Node; use rustc_index::vec::Idx; +use rustc_middle::mir::{self, ClearCrossCrate, Local, LocalInfo, Location}; +use rustc_middle::mir::{Mutability, Place, PlaceRef, ProjectionElem}; +use rustc_middle::ty::{self, Ty, TyCtxt}; use rustc_span::source_map::DesugaringKind; use rustc_span::symbol::kw; use rustc_span::Span; diff --git a/src/librustc_mir/borrow_check/diagnostics/outlives_suggestion.rs b/src/librustc_mir/borrow_check/diagnostics/outlives_suggestion.rs index ee9489078bdb9..dd970d800fba0 100644 --- a/src/librustc_mir/borrow_check/diagnostics/outlives_suggestion.rs +++ b/src/librustc_mir/borrow_check/diagnostics/outlives_suggestion.rs @@ -4,9 +4,9 @@ use std::collections::BTreeMap; use log::debug; -use rustc::ty::RegionVid; use rustc_data_structures::fx::FxHashSet; use rustc_errors::DiagnosticBuilder; +use rustc_middle::ty::RegionVid; use smallvec::SmallVec; diff --git a/src/librustc_mir/borrow_check/diagnostics/region_errors.rs b/src/librustc_mir/borrow_check/diagnostics/region_errors.rs index 93800d2a2b38d..98c0542f9c0dc 100644 --- a/src/librustc_mir/borrow_check/diagnostics/region_errors.rs +++ b/src/librustc_mir/borrow_check/diagnostics/region_errors.rs @@ -1,12 +1,12 @@ //! Error reporting machinery for lifetime errors. -use rustc::mir::ConstraintCategory; -use rustc::ty::{self, RegionVid, Ty}; use rustc_errors::{Applicability, DiagnosticBuilder}; use rustc_infer::infer::{ error_reporting::nice_region_error::NiceRegionError, error_reporting::unexpected_hidden_region_diagnostic, NLLRegionVariableOrigin, }; +use rustc_middle::mir::ConstraintCategory; +use rustc_middle::ty::{self, RegionVid, Ty}; use rustc_span::symbol::kw; use rustc_span::Span; diff --git a/src/librustc_mir/borrow_check/diagnostics/region_name.rs b/src/librustc_mir/borrow_check/diagnostics/region_name.rs index 6756f476f6155..a085c2f7f69c9 100644 --- a/src/librustc_mir/borrow_check/diagnostics/region_name.rs +++ b/src/librustc_mir/borrow_check/diagnostics/region_name.rs @@ -1,11 +1,11 @@ use std::fmt::{self, Display}; -use rustc::ty::print::RegionHighlightMode; -use rustc::ty::subst::{GenericArgKind, SubstsRef}; -use rustc::ty::{self, RegionVid, Ty}; use rustc_errors::DiagnosticBuilder; use rustc_hir as hir; use rustc_hir::def::{DefKind, Res}; +use rustc_middle::ty::print::RegionHighlightMode; +use rustc_middle::ty::subst::{GenericArgKind, SubstsRef}; +use rustc_middle::ty::{self, RegionVid, Ty}; use rustc_span::symbol::kw; use rustc_span::{symbol::Symbol, Span, DUMMY_SP}; diff --git a/src/librustc_mir/borrow_check/diagnostics/var_name.rs b/src/librustc_mir/borrow_check/diagnostics/var_name.rs index c4933bedc2271..a850b85e9bbae 100644 --- a/src/librustc_mir/borrow_check/diagnostics/var_name.rs +++ b/src/librustc_mir/borrow_check/diagnostics/var_name.rs @@ -1,8 +1,8 @@ use crate::borrow_check::Upvar; use crate::borrow_check::{nll::ToRegionVid, region_infer::RegionInferenceContext}; -use rustc::mir::{Body, Local}; -use rustc::ty::{RegionVid, TyCtxt}; use rustc_index::vec::{Idx, IndexVec}; +use rustc_middle::mir::{Body, Local}; +use rustc_middle::ty::{RegionVid, TyCtxt}; use rustc_span::source_map::Span; use rustc_span::symbol::Symbol; diff --git a/src/librustc_mir/borrow_check/facts.rs b/src/librustc_mir/borrow_check/facts.rs index cd8139b17b48d..6d6b94ecf6440 100644 --- a/src/librustc_mir/borrow_check/facts.rs +++ b/src/librustc_mir/borrow_check/facts.rs @@ -2,9 +2,9 @@ use crate::borrow_check::location::{LocationIndex, LocationTable}; use crate::dataflow::indexes::{BorrowIndex, MovePathIndex}; use polonius_engine::AllFacts as PoloniusFacts; use polonius_engine::Atom; -use rustc::mir::Local; -use rustc::ty::{RegionVid, TyCtxt}; use rustc_index::vec::Idx; +use rustc_middle::mir::Local; +use rustc_middle::ty::{RegionVid, TyCtxt}; use std::error::Error; use std::fmt::Debug; use std::fs::{self, File}; diff --git a/src/librustc_mir/borrow_check/invalidation.rs b/src/librustc_mir/borrow_check/invalidation.rs index 653578cc15628..1639b7262b005 100644 --- a/src/librustc_mir/borrow_check/invalidation.rs +++ b/src/librustc_mir/borrow_check/invalidation.rs @@ -1,10 +1,10 @@ -use rustc::mir::visit::Visitor; -use rustc::mir::TerminatorKind; -use rustc::mir::{BasicBlock, Body, Location, Place, ReadOnlyBodyAndCache, Rvalue}; -use rustc::mir::{BorrowKind, Mutability, Operand}; -use rustc::mir::{Statement, StatementKind}; -use rustc::ty::TyCtxt; use rustc_data_structures::graph::dominators::Dominators; +use rustc_middle::mir::visit::Visitor; +use rustc_middle::mir::TerminatorKind; +use rustc_middle::mir::{BasicBlock, Body, Location, Place, ReadOnlyBodyAndCache, Rvalue}; +use rustc_middle::mir::{BorrowKind, Mutability, Operand}; +use rustc_middle::mir::{Statement, StatementKind}; +use rustc_middle::ty::TyCtxt; use crate::dataflow::indexes::BorrowIndex; @@ -153,7 +153,7 @@ impl<'cx, 'tcx> Visitor<'tcx> for InvalidationGenerator<'cx, 'tcx> { } TerminatorKind::Assert { ref cond, expected: _, ref msg, target: _, cleanup: _ } => { self.consume_operand(location, cond); - use rustc::mir::AssertKind; + use rustc_middle::mir::AssertKind; if let AssertKind::BoundsCheck { ref len, ref index } = *msg { self.consume_operand(location, len); self.consume_operand(location, index); diff --git a/src/librustc_mir/borrow_check/location.rs b/src/librustc_mir/borrow_check/location.rs index 7bc746b181d81..375ff72679f8f 100644 --- a/src/librustc_mir/borrow_check/location.rs +++ b/src/librustc_mir/borrow_check/location.rs @@ -1,5 +1,5 @@ -use rustc::mir::{BasicBlock, Body, Location}; use rustc_index::vec::{Idx, IndexVec}; +use rustc_middle::mir::{BasicBlock, Body, Location}; /// Maps between a MIR Location, which identifies a particular /// statement within a basic block, to a "rich location", which diff --git a/src/librustc_mir/borrow_check/member_constraints.rs b/src/librustc_mir/borrow_check/member_constraints.rs index 4323e2db84476..d4baa5d809a22 100644 --- a/src/librustc_mir/borrow_check/member_constraints.rs +++ b/src/librustc_mir/borrow_check/member_constraints.rs @@ -1,8 +1,8 @@ -use crate::rustc::ty::{self, Ty}; -use rustc::infer::MemberConstraint; use rustc_data_structures::fx::FxHashMap; use rustc_hir::def_id::DefId; use rustc_index::vec::IndexVec; +use rustc_middle::infer::MemberConstraint; +use rustc_middle::ty::{self, Ty}; use rustc_span::Span; use std::hash::Hash; use std::ops::Index; @@ -71,7 +71,7 @@ impl<'tcx> MemberConstraintSet<'tcx, ty::RegionVid> { /// Pushes a member constraint into the set. /// /// The input member constraint `m_c` is in the form produced by - /// the the `rustc::infer` code. + /// the the `rustc_middle::infer` code. /// /// The `to_region_vid` callback fn is used to convert the regions /// within into `RegionVid` format -- it typically consults the diff --git a/src/librustc_mir/borrow_check/mod.rs b/src/librustc_mir/borrow_check/mod.rs index b6c3ae0fb876c..0aeabdb4dca9d 100644 --- a/src/librustc_mir/borrow_check/mod.rs +++ b/src/librustc_mir/borrow_check/mod.rs @@ -1,14 +1,5 @@ //! This query borrow-checks the MIR to (further) ensure it is not broken. -use rustc::mir::{ - read_only, traversal, Body, BodyAndCache, ClearCrossCrate, Local, Location, Mutability, - Operand, Place, PlaceElem, PlaceRef, ReadOnlyBodyAndCache, -}; -use rustc::mir::{AggregateKind, BasicBlock, BorrowCheckResult, BorrowKind}; -use rustc::mir::{Field, ProjectionElem, Promoted, Rvalue, Statement, StatementKind}; -use rustc::mir::{Terminator, TerminatorKind}; -use rustc::ty::query::Providers; -use rustc::ty::{self, RegionVid, TyCtxt}; use rustc_ast::ast::Name; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_data_structures::graph::dominators::Dominators; @@ -18,6 +9,15 @@ use rustc_hir::{def_id::DefId, HirId, Node}; use rustc_index::bit_set::BitSet; use rustc_index::vec::IndexVec; use rustc_infer::infer::{InferCtxt, TyCtxtInferExt}; +use rustc_middle::mir::{ + read_only, traversal, Body, BodyAndCache, ClearCrossCrate, Local, Location, Mutability, + Operand, Place, PlaceElem, PlaceRef, ReadOnlyBodyAndCache, +}; +use rustc_middle::mir::{AggregateKind, BasicBlock, BorrowCheckResult, BorrowKind}; +use rustc_middle::mir::{Field, ProjectionElem, Promoted, Rvalue, Statement, StatementKind}; +use rustc_middle::mir::{Terminator, TerminatorKind}; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::{self, RegionVid, TyCtxt}; use rustc_session::lint::builtin::{MUTABLE_BORROW_RESERVATION_CONFLICT, UNUSED_MUT}; use rustc_span::{Span, DUMMY_SP}; @@ -670,7 +670,7 @@ impl<'cx, 'tcx> dataflow::ResultsVisitor<'cx, 'tcx> for MirBorrowckCtxt<'cx, 'tc } TerminatorKind::Assert { ref cond, expected: _, ref msg, target: _, cleanup: _ } => { self.consume_operand(loc, (cond, span), flow_state); - use rustc::mir::AssertKind; + use rustc_middle::mir::AssertKind; if let AssertKind::BoundsCheck { ref len, ref index } = *msg { self.consume_operand(loc, (len, span), flow_state); self.consume_operand(loc, (index, span), flow_state); diff --git a/src/librustc_mir/borrow_check/nll.rs b/src/librustc_mir/borrow_check/nll.rs index 8e929a4fa22f4..83e017c31373c 100644 --- a/src/librustc_mir/borrow_check/nll.rs +++ b/src/librustc_mir/borrow_check/nll.rs @@ -1,15 +1,15 @@ //! The entry point of the NLL borrow checker. -use rustc::mir::{ - BasicBlock, Body, BodyAndCache, ClosureOutlivesSubject, ClosureRegionRequirements, LocalKind, - Location, Promoted, ReadOnlyBodyAndCache, -}; -use rustc::ty::{self, RegionKind, RegionVid}; use rustc_data_structures::fx::FxHashMap; use rustc_errors::Diagnostic; use rustc_hir::def_id::DefId; use rustc_index::vec::IndexVec; use rustc_infer::infer::InferCtxt; +use rustc_middle::mir::{ + BasicBlock, Body, BodyAndCache, ClosureOutlivesSubject, ClosureRegionRequirements, LocalKind, + Location, Promoted, ReadOnlyBodyAndCache, +}; +use rustc_middle::ty::{self, RegionKind, RegionVid}; use rustc_span::symbol::sym; use std::env; use std::fmt::Debug; diff --git a/src/librustc_mir/borrow_check/path_utils.rs b/src/librustc_mir/borrow_check/path_utils.rs index deec6f386ffb3..aa5065300eae9 100644 --- a/src/librustc_mir/borrow_check/path_utils.rs +++ b/src/librustc_mir/borrow_check/path_utils.rs @@ -2,10 +2,10 @@ use crate::borrow_check::borrow_set::{BorrowData, BorrowSet, TwoPhaseActivation} use crate::borrow_check::places_conflict; use crate::borrow_check::AccessDepth; use crate::dataflow::indexes::BorrowIndex; -use rustc::mir::BorrowKind; -use rustc::mir::{BasicBlock, Body, Location, Place}; -use rustc::ty::TyCtxt; use rustc_data_structures::graph::dominators::Dominators; +use rustc_middle::mir::BorrowKind; +use rustc_middle::mir::{BasicBlock, Body, Location, Place}; +use rustc_middle::ty::TyCtxt; /// Returns `true` if the borrow represented by `kind` is /// allowed to be split into separate Reservation and diff --git a/src/librustc_mir/borrow_check/place_ext.rs b/src/librustc_mir/borrow_check/place_ext.rs index 01c44d0d905b6..e53f50326d3d2 100644 --- a/src/librustc_mir/borrow_check/place_ext.rs +++ b/src/librustc_mir/borrow_check/place_ext.rs @@ -1,8 +1,8 @@ use crate::borrow_check::borrow_set::LocalsStateAtExit; -use rustc::mir::ProjectionElem; -use rustc::mir::{Body, Mutability, Place}; -use rustc::ty::{self, TyCtxt}; use rustc_hir as hir; +use rustc_middle::mir::ProjectionElem; +use rustc_middle::mir::{Body, Mutability, Place}; +use rustc_middle::ty::{self, TyCtxt}; /// Extension methods for the `Place` type. crate trait PlaceExt<'tcx> { diff --git a/src/librustc_mir/borrow_check/places_conflict.rs b/src/librustc_mir/borrow_check/places_conflict.rs index 767ffa50fedb4..876c9728d0055 100644 --- a/src/librustc_mir/borrow_check/places_conflict.rs +++ b/src/librustc_mir/borrow_check/places_conflict.rs @@ -1,9 +1,9 @@ use crate::borrow_check::ArtificialField; use crate::borrow_check::Overlap; use crate::borrow_check::{AccessDepth, Deep, Shallow}; -use rustc::mir::{Body, BorrowKind, Local, Place, PlaceElem, PlaceRef, ProjectionElem}; -use rustc::ty::{self, TyCtxt}; use rustc_hir as hir; +use rustc_middle::mir::{Body, BorrowKind, Local, Place, PlaceElem, PlaceRef, ProjectionElem}; +use rustc_middle::ty::{self, TyCtxt}; use std::cmp::max; /// When checking if a place conflicts with another place, this enum is used to influence decisions diff --git a/src/librustc_mir/borrow_check/prefixes.rs b/src/librustc_mir/borrow_check/prefixes.rs index c64e8c363af54..e3d0cdbd18820 100644 --- a/src/librustc_mir/borrow_check/prefixes.rs +++ b/src/librustc_mir/borrow_check/prefixes.rs @@ -9,9 +9,9 @@ use super::MirBorrowckCtxt; -use rustc::mir::{Place, PlaceRef, ProjectionElem, ReadOnlyBodyAndCache}; -use rustc::ty::{self, TyCtxt}; use rustc_hir as hir; +use rustc_middle::mir::{Place, PlaceRef, ProjectionElem, ReadOnlyBodyAndCache}; +use rustc_middle::ty::{self, TyCtxt}; pub trait IsPrefixOf<'tcx> { fn is_prefix_of(&self, other: PlaceRef<'tcx>) -> bool; diff --git a/src/librustc_mir/borrow_check/region_infer/mod.rs b/src/librustc_mir/borrow_check/region_infer/mod.rs index c8b0e59ebb117..125110216aada 100644 --- a/src/librustc_mir/borrow_check/region_infer/mod.rs +++ b/src/librustc_mir/borrow_check/region_infer/mod.rs @@ -1,11 +1,6 @@ use std::collections::VecDeque; use std::rc::Rc; -use rustc::mir::{ - Body, ClosureOutlivesRequirement, ClosureOutlivesSubject, ClosureRegionRequirements, - ConstraintCategory, Local, Location, -}; -use rustc::ty::{self, subst::SubstsRef, RegionVid, Ty, TyCtxt, TypeFoldable}; use rustc_data_structures::binary_search_util; use rustc_data_structures::frozen::Frozen; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; @@ -16,6 +11,11 @@ use rustc_index::vec::IndexVec; use rustc_infer::infer::canonical::QueryOutlivesConstraint; use rustc_infer::infer::region_constraints::{GenericKind, VarInfos, VerifyBound}; use rustc_infer::infer::{InferCtxt, NLLRegionVariableOrigin, RegionVariableOrigin}; +use rustc_middle::mir::{ + Body, ClosureOutlivesRequirement, ClosureOutlivesSubject, ClosureRegionRequirements, + ConstraintCategory, Local, Location, +}; +use rustc_middle::ty::{self, subst::SubstsRef, RegionVid, Ty, TyCtxt, TypeFoldable}; use rustc_span::Span; use crate::borrow_check::{ @@ -202,7 +202,7 @@ pub(crate) enum Cause { /// /// For more information about this translation, see /// `InferCtxt::process_registered_region_obligations` and -/// `InferCtxt::type_must_outlive` in `rustc::infer::outlives`. +/// `InferCtxt::type_must_outlive` in `rustc_middle::infer::outlives`. #[derive(Clone, Debug)] pub struct TypeTest<'tcx> { /// The type `T` that must outlive the region. diff --git a/src/librustc_mir/borrow_check/region_infer/opaque_types.rs b/src/librustc_mir/borrow_check/region_infer/opaque_types.rs index 49b4943732847..7e352bfba77bc 100644 --- a/src/librustc_mir/borrow_check/region_infer/opaque_types.rs +++ b/src/librustc_mir/borrow_check/region_infer/opaque_types.rs @@ -1,7 +1,7 @@ -use rustc::ty::{self, TyCtxt, TypeFoldable}; use rustc_data_structures::fx::FxHashMap; use rustc_hir::def_id::DefId; use rustc_infer::infer::InferCtxt; +use rustc_middle::ty::{self, TyCtxt, TypeFoldable}; use rustc_span::Span; use rustc_trait_selection::opaque_types::InferCtxtExt; diff --git a/src/librustc_mir/borrow_check/region_infer/reverse_sccs.rs b/src/librustc_mir/borrow_check/region_infer/reverse_sccs.rs index ff19ac5f21a36..5d345a6e63d6b 100644 --- a/src/librustc_mir/borrow_check/region_infer/reverse_sccs.rs +++ b/src/librustc_mir/borrow_check/region_infer/reverse_sccs.rs @@ -1,10 +1,10 @@ use crate::borrow_check::constraints::ConstraintSccIndex; use crate::borrow_check::RegionInferenceContext; use itertools::Itertools; -use rustc::ty::RegionVid; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_data_structures::graph::vec_graph::VecGraph; use rustc_data_structures::graph::WithSuccessors; +use rustc_middle::ty::RegionVid; use std::ops::Range; use std::rc::Rc; diff --git a/src/librustc_mir/borrow_check/region_infer/values.rs b/src/librustc_mir/borrow_check/region_infer/values.rs index 675463cb1c1f9..5310fd4abafe5 100644 --- a/src/librustc_mir/borrow_check/region_infer/values.rs +++ b/src/librustc_mir/borrow_check/region_infer/values.rs @@ -1,9 +1,9 @@ -use rustc::mir::{BasicBlock, Body, Location, ReadOnlyBodyAndCache}; -use rustc::ty::{self, RegionVid}; use rustc_data_structures::fx::FxHashMap; use rustc_index::bit_set::{HybridBitSet, SparseBitMatrix}; use rustc_index::vec::Idx; use rustc_index::vec::IndexVec; +use rustc_middle::mir::{BasicBlock, Body, Location, ReadOnlyBodyAndCache}; +use rustc_middle::ty::{self, RegionVid}; use std::fmt::Debug; use std::rc::Rc; diff --git a/src/librustc_mir/borrow_check/renumber.rs b/src/librustc_mir/borrow_check/renumber.rs index a63d18c27f119..a1d7bc1462f95 100644 --- a/src/librustc_mir/borrow_check/renumber.rs +++ b/src/librustc_mir/borrow_check/renumber.rs @@ -1,9 +1,9 @@ -use rustc::mir::visit::{MutVisitor, TyContext}; -use rustc::mir::{BodyAndCache, Location, PlaceElem, Promoted}; -use rustc::ty::subst::SubstsRef; -use rustc::ty::{self, Ty, TyCtxt, TypeFoldable}; use rustc_index::vec::IndexVec; use rustc_infer::infer::{InferCtxt, NLLRegionVariableOrigin}; +use rustc_middle::mir::visit::{MutVisitor, TyContext}; +use rustc_middle::mir::{BodyAndCache, Location, PlaceElem, Promoted}; +use rustc_middle::ty::subst::SubstsRef; +use rustc_middle::ty::{self, Ty, TyCtxt, TypeFoldable}; /// Replaces all free regions appearing in the MIR with fresh /// inference variables, returning the number of variables created. diff --git a/src/librustc_mir/borrow_check/type_check/constraint_conversion.rs b/src/librustc_mir/borrow_check/type_check/constraint_conversion.rs index 576759c2a3574..8e4f44e8195a8 100644 --- a/src/librustc_mir/borrow_check/type_check/constraint_conversion.rs +++ b/src/librustc_mir/borrow_check/type_check/constraint_conversion.rs @@ -1,12 +1,12 @@ -use rustc::mir::ConstraintCategory; -use rustc::ty::subst::GenericArgKind; -use rustc::ty::{self, TyCtxt}; use rustc_infer::infer::canonical::QueryOutlivesConstraint; use rustc_infer::infer::canonical::QueryRegionConstraints; use rustc_infer::infer::outlives::env::RegionBoundPairs; use rustc_infer::infer::outlives::obligations::{TypeOutlives, TypeOutlivesDelegate}; use rustc_infer::infer::region_constraints::{GenericKind, VerifyBound}; use rustc_infer::infer::{self, InferCtxt, SubregionOrigin}; +use rustc_middle::mir::ConstraintCategory; +use rustc_middle::ty::subst::GenericArgKind; +use rustc_middle::ty::{self, TyCtxt}; use rustc_span::DUMMY_SP; use crate::borrow_check::{ diff --git a/src/librustc_mir/borrow_check/type_check/free_region_relations.rs b/src/librustc_mir/borrow_check/type_check/free_region_relations.rs index 86951f93f0e7e..0583295bfca77 100644 --- a/src/librustc_mir/borrow_check/type_check/free_region_relations.rs +++ b/src/librustc_mir/borrow_check/type_check/free_region_relations.rs @@ -1,13 +1,13 @@ -use rustc::mir::ConstraintCategory; -use rustc::traits::query::OutlivesBound; -use rustc::ty::free_region_map::FreeRegionRelations; -use rustc::ty::{self, RegionVid, Ty, TyCtxt}; use rustc_data_structures::frozen::Frozen; use rustc_data_structures::transitive_relation::TransitiveRelation; use rustc_infer::infer::canonical::QueryRegionConstraints; use rustc_infer::infer::outlives; use rustc_infer::infer::region_constraints::GenericKind; use rustc_infer::infer::InferCtxt; +use rustc_middle::mir::ConstraintCategory; +use rustc_middle::traits::query::OutlivesBound; +use rustc_middle::ty::free_region_map::FreeRegionRelations; +use rustc_middle::ty::{self, RegionVid, Ty, TyCtxt}; use rustc_span::DUMMY_SP; use rustc_trait_selection::traits::query::type_op::{self, TypeOp}; use std::rc::Rc; diff --git a/src/librustc_mir/borrow_check/type_check/input_output.rs b/src/librustc_mir/borrow_check/type_check/input_output.rs index f2194c77c8991..83ee46acdc45b 100644 --- a/src/librustc_mir/borrow_check/type_check/input_output.rs +++ b/src/librustc_mir/borrow_check/type_check/input_output.rs @@ -7,9 +7,9 @@ //! `RETURN_PLACE` the MIR arguments) are always fully normalized (and //! contain revealed `impl Trait` values). -use rustc::mir::*; -use rustc::ty::Ty; use rustc_infer::infer::LateBoundRegionConversionTime; +use rustc_middle::mir::*; +use rustc_middle::ty::Ty; use rustc_index::vec::Idx; use rustc_span::Span; diff --git a/src/librustc_mir/borrow_check/type_check/liveness/local_use_map.rs b/src/librustc_mir/borrow_check/type_check/liveness/local_use_map.rs index 9a4eeb8ffc498..88e2109b1b29f 100644 --- a/src/librustc_mir/borrow_check/type_check/liveness/local_use_map.rs +++ b/src/librustc_mir/borrow_check/type_check/liveness/local_use_map.rs @@ -1,7 +1,7 @@ -use rustc::mir::visit::{PlaceContext, Visitor}; -use rustc::mir::{Local, Location, ReadOnlyBodyAndCache}; use rustc_data_structures::vec_linked_list as vll; use rustc_index::vec::IndexVec; +use rustc_middle::mir::visit::{PlaceContext, Visitor}; +use rustc_middle::mir::{Local, Location, ReadOnlyBodyAndCache}; use crate::util::liveness::{categorize, DefUse}; diff --git a/src/librustc_mir/borrow_check/type_check/liveness/mod.rs b/src/librustc_mir/borrow_check/type_check/liveness/mod.rs index a55529ed0ef12..13bdaa357ce41 100644 --- a/src/librustc_mir/borrow_check/type_check/liveness/mod.rs +++ b/src/librustc_mir/borrow_check/type_check/liveness/mod.rs @@ -1,6 +1,6 @@ -use rustc::mir::{Body, Local, ReadOnlyBodyAndCache}; -use rustc::ty::{RegionVid, TyCtxt}; use rustc_data_structures::fx::FxHashSet; +use rustc_middle::mir::{Body, Local, ReadOnlyBodyAndCache}; +use rustc_middle::ty::{RegionVid, TyCtxt}; use std::rc::Rc; use crate::dataflow::move_paths::MoveData; diff --git a/src/librustc_mir/borrow_check/type_check/liveness/polonius.rs b/src/librustc_mir/borrow_check/type_check/liveness/polonius.rs index 9bb1bbeaf0037..d937d248aa80a 100644 --- a/src/librustc_mir/borrow_check/type_check/liveness/polonius.rs +++ b/src/librustc_mir/borrow_check/type_check/liveness/polonius.rs @@ -2,9 +2,9 @@ use crate::borrow_check::location::{LocationIndex, LocationTable}; use crate::dataflow::indexes::MovePathIndex; use crate::dataflow::move_paths::{LookupResult, MoveData}; use crate::util::liveness::{categorize, DefUse}; -use rustc::mir::visit::{MutatingUseContext, PlaceContext, Visitor}; -use rustc::mir::{Local, Location, Place, ReadOnlyBodyAndCache}; -use rustc::ty::subst::GenericArg; +use rustc_middle::mir::visit::{MutatingUseContext, PlaceContext, Visitor}; +use rustc_middle::mir::{Local, Location, Place, ReadOnlyBodyAndCache}; +use rustc_middle::ty::subst::GenericArg; use super::TypeChecker; diff --git a/src/librustc_mir/borrow_check/type_check/liveness/trace.rs b/src/librustc_mir/borrow_check/type_check/liveness/trace.rs index 75b269c79b96e..fe5c020c8bb19 100644 --- a/src/librustc_mir/borrow_check/type_check/liveness/trace.rs +++ b/src/librustc_mir/borrow_check/type_check/liveness/trace.rs @@ -1,8 +1,8 @@ -use rustc::mir::{BasicBlock, ConstraintCategory, Local, Location, ReadOnlyBodyAndCache}; -use rustc::ty::{Ty, TypeFoldable}; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_index::bit_set::HybridBitSet; use rustc_infer::infer::canonical::QueryRegionConstraints; +use rustc_middle::mir::{BasicBlock, ConstraintCategory, Local, Location, ReadOnlyBodyAndCache}; +use rustc_middle::ty::{Ty, TypeFoldable}; use rustc_trait_selection::traits::query::dropck_outlives::DropckOutlivesResult; use rustc_trait_selection::traits::query::type_op::outlives::DropckOutlives; use rustc_trait_selection::traits::query::type_op::TypeOp; diff --git a/src/librustc_mir/borrow_check/type_check/mod.rs b/src/librustc_mir/borrow_check/type_check/mod.rs index b8dd1010b4c8f..1d66bd13c6fe6 100644 --- a/src/librustc_mir/borrow_check/type_check/mod.rs +++ b/src/librustc_mir/borrow_check/type_check/mod.rs @@ -5,19 +5,6 @@ use std::{fmt, iter, mem}; use either::Either; -use rustc::mir::tcx::PlaceTy; -use rustc::mir::visit::{NonMutatingUseContext, PlaceContext, Visitor}; -use rustc::mir::AssertKind; -use rustc::mir::*; -use rustc::ty::adjustment::PointerCast; -use rustc::ty::cast::CastTy; -use rustc::ty::fold::TypeFoldable; -use rustc::ty::layout::VariantIdx; -use rustc::ty::subst::{GenericArgKind, Subst, SubstsRef, UserSubsts}; -use rustc::ty::{ - self, CanonicalUserTypeAnnotation, CanonicalUserTypeAnnotations, RegionVid, ToPolyTraitRef, Ty, - TyCtxt, UserType, UserTypeAnnotationIndex, -}; use rustc_data_structures::frozen::Frozen; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_errors::struct_span_err; @@ -30,6 +17,19 @@ use rustc_infer::infer::type_variable::{TypeVariableOrigin, TypeVariableOriginKi use rustc_infer::infer::{ InferCtxt, InferOk, LateBoundRegionConversionTime, NLLRegionVariableOrigin, }; +use rustc_middle::mir::tcx::PlaceTy; +use rustc_middle::mir::visit::{NonMutatingUseContext, PlaceContext, Visitor}; +use rustc_middle::mir::AssertKind; +use rustc_middle::mir::*; +use rustc_middle::ty::adjustment::PointerCast; +use rustc_middle::ty::cast::CastTy; +use rustc_middle::ty::fold::TypeFoldable; +use rustc_middle::ty::layout::VariantIdx; +use rustc_middle::ty::subst::{GenericArgKind, Subst, SubstsRef, UserSubsts}; +use rustc_middle::ty::{ + self, CanonicalUserTypeAnnotation, CanonicalUserTypeAnnotations, RegionVid, ToPolyTraitRef, Ty, + TyCtxt, UserType, UserTypeAnnotationIndex, +}; use rustc_span::{Span, DUMMY_SP}; use rustc_trait_selection::infer::InferCtxtExt as _; use rustc_trait_selection::opaque_types::{GenerateMemberConstraints, InferCtxtExt}; @@ -1053,7 +1053,7 @@ impl<'a, 'tcx> TypeChecker<'a, 'tcx> { /// regions which are extracted and stored as having occurred at /// `locations`. /// - /// **Any `rustc::infer` operations that might generate region + /// **Any `rustc_middle::infer` operations that might generate region /// constraints should occur within this method so that those /// constraints can be properly localized!** fn fully_perform_op( diff --git a/src/librustc_mir/borrow_check/type_check/relate_tys.rs b/src/librustc_mir/borrow_check/type_check/relate_tys.rs index ebaafd4026270..b9a76057d51f8 100644 --- a/src/librustc_mir/borrow_check/type_check/relate_tys.rs +++ b/src/librustc_mir/borrow_check/type_check/relate_tys.rs @@ -1,8 +1,8 @@ -use rustc::mir::ConstraintCategory; -use rustc::ty::relate::TypeRelation; -use rustc::ty::{self, Ty}; use rustc_infer::infer::nll_relate::{NormalizationStrategy, TypeRelating, TypeRelatingDelegate}; use rustc_infer::infer::{InferCtxt, NLLRegionVariableOrigin}; +use rustc_middle::mir::ConstraintCategory; +use rustc_middle::ty::relate::TypeRelation; +use rustc_middle::ty::{self, Ty}; use rustc_trait_selection::traits::query::Fallible; use rustc_trait_selection::traits::DomainGoal; diff --git a/src/librustc_mir/borrow_check/universal_regions.rs b/src/librustc_mir/borrow_check/universal_regions.rs index 825931cf8922f..c31f5a57ebc22 100644 --- a/src/librustc_mir/borrow_check/universal_regions.rs +++ b/src/librustc_mir/borrow_check/universal_regions.rs @@ -13,10 +13,6 @@ //! just returns them for other code to use. use either::Either; -use rustc::middle::lang_items; -use rustc::ty::fold::TypeFoldable; -use rustc::ty::subst::{InternalSubsts, Subst, SubstsRef}; -use rustc::ty::{self, RegionVid, Ty, TyCtxt}; use rustc_data_structures::fx::FxHashMap; use rustc_errors::DiagnosticBuilder; use rustc_hir as hir; @@ -24,6 +20,10 @@ use rustc_hir::def_id::DefId; use rustc_hir::{BodyOwnerKind, HirId}; use rustc_index::vec::{Idx, IndexVec}; use rustc_infer::infer::{InferCtxt, NLLRegionVariableOrigin}; +use rustc_middle::middle::lang_items; +use rustc_middle::ty::fold::TypeFoldable; +use rustc_middle::ty::subst::{InternalSubsts, Subst, SubstsRef}; +use rustc_middle::ty::{self, RegionVid, Ty, TyCtxt}; use std::iter; use crate::borrow_check::nll::ToRegionVid; diff --git a/src/librustc_mir/borrow_check/used_muts.rs b/src/librustc_mir/borrow_check/used_muts.rs index 7fbf8842860cf..1197d3d50e464 100644 --- a/src/librustc_mir/borrow_check/used_muts.rs +++ b/src/librustc_mir/borrow_check/used_muts.rs @@ -1,5 +1,5 @@ -use rustc::mir::visit::{PlaceContext, Visitor}; -use rustc::mir::{Local, Location, Place, Statement, StatementKind, TerminatorKind}; +use rustc_middle::mir::visit::{PlaceContext, Visitor}; +use rustc_middle::mir::{Local, Location, Place, Statement, StatementKind, TerminatorKind}; use rustc_data_structures::fx::FxHashSet; diff --git a/src/librustc_mir/const_eval/error.rs b/src/librustc_mir/const_eval/error.rs index aa30f43df9350..f72278456bd18 100644 --- a/src/librustc_mir/const_eval/error.rs +++ b/src/librustc_mir/const_eval/error.rs @@ -1,7 +1,7 @@ use std::error::Error; use std::fmt; -use rustc::mir::AssertKind; +use rustc_middle::mir::AssertKind; use rustc_span::Symbol; use super::InterpCx; @@ -18,7 +18,7 @@ pub enum ConstEvalErrKind { } // The errors become `MachineStop` with plain strings when being raised. -// `ConstEvalErr` (in `librustc/mir/interpret/error.rs`) knows to +// `ConstEvalErr` (in `librustc_middle/mir/interpret/error.rs`) knows to // handle these. impl<'tcx> Into> for ConstEvalErrKind { fn into(self) -> InterpErrorInfo<'tcx> { diff --git a/src/librustc_mir/const_eval/eval_queries.rs b/src/librustc_mir/const_eval/eval_queries.rs index b0ef539d96b84..c30d41e6a9222 100644 --- a/src/librustc_mir/const_eval/eval_queries.rs +++ b/src/librustc_mir/const_eval/eval_queries.rs @@ -5,11 +5,11 @@ use crate::interpret::{ InterpCx, InterpResult, MPlaceTy, MemoryKind, OpTy, RawConst, RefTracking, Scalar, ScalarMaybeUndef, StackPopCleanup, }; -use rustc::mir; -use rustc::mir::interpret::{ConstEvalErr, ErrorHandled}; -use rustc::traits::Reveal; -use rustc::ty::{self, layout, layout::LayoutOf, subst::Subst, TyCtxt}; use rustc_hir::def::DefKind; +use rustc_middle::mir; +use rustc_middle::mir::interpret::{ConstEvalErr, ErrorHandled}; +use rustc_middle::traits::Reveal; +use rustc_middle::ty::{self, layout, layout::LayoutOf, subst::Subst, TyCtxt}; use rustc_span::source_map::Span; use std::convert::TryInto; @@ -173,7 +173,7 @@ fn validate_and_turn_into_const<'tcx>( tcx: TyCtxt<'tcx>, constant: RawConst<'tcx>, key: ty::ParamEnvAnd<'tcx, GlobalId<'tcx>>, -) -> ::rustc::mir::interpret::ConstEvalResult<'tcx> { +) -> ::rustc_middle::mir::interpret::ConstEvalResult<'tcx> { let cid = key.value; let def_id = cid.instance.def.def_id(); let is_static = tcx.is_static(def_id); @@ -223,7 +223,7 @@ fn validate_and_turn_into_const<'tcx>( pub fn const_eval_validated_provider<'tcx>( tcx: TyCtxt<'tcx>, key: ty::ParamEnvAnd<'tcx, GlobalId<'tcx>>, -) -> ::rustc::mir::interpret::ConstEvalResult<'tcx> { +) -> ::rustc_middle::mir::interpret::ConstEvalResult<'tcx> { // see comment in const_eval_raw_provider for what we're doing here if key.param_env.reveal == Reveal::All { let mut key = key; @@ -257,7 +257,7 @@ pub fn const_eval_validated_provider<'tcx>( pub fn const_eval_raw_provider<'tcx>( tcx: TyCtxt<'tcx>, key: ty::ParamEnvAnd<'tcx, GlobalId<'tcx>>, -) -> ::rustc::mir::interpret::ConstEvalRawResult<'tcx> { +) -> ::rustc_middle::mir::interpret::ConstEvalRawResult<'tcx> { // Because the constant is computed twice (once per value of `Reveal`), we are at risk of // reporting the same error twice here. To resolve this, we check whether we can evaluate the // constant in the more restrictive `Reveal::UserFacing`, which most likely already was diff --git a/src/librustc_mir/const_eval/fn_queries.rs b/src/librustc_mir/const_eval/fn_queries.rs index 470e4e7ed25c1..8ae4f9f4a0d6e 100644 --- a/src/librustc_mir/const_eval/fn_queries.rs +++ b/src/librustc_mir/const_eval/fn_queries.rs @@ -1,9 +1,9 @@ -use rustc::hir::map::blocks::FnLikeNode; -use rustc::ty::query::Providers; -use rustc::ty::TyCtxt; use rustc_attr as attr; use rustc_hir as hir; use rustc_hir::def_id::{DefId, LocalDefId}; +use rustc_middle::hir::map::blocks::FnLikeNode; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::TyCtxt; use rustc_span::symbol::Symbol; use rustc_target::spec::abi::Abi; diff --git a/src/librustc_mir/const_eval/machine.rs b/src/librustc_mir/const_eval/machine.rs index 0970e09791999..ee6fab43fa5c2 100644 --- a/src/librustc_mir/const_eval/machine.rs +++ b/src/librustc_mir/const_eval/machine.rs @@ -1,14 +1,14 @@ -use rustc::mir; -use rustc::ty::layout::HasTyCtxt; -use rustc::ty::{self, Ty}; +use rustc_middle::mir; +use rustc_middle::ty::layout::HasTyCtxt; +use rustc_middle::ty::{self, Ty}; use std::borrow::{Borrow, Cow}; use std::collections::hash_map::Entry; use std::hash::Hash; use rustc_data_structures::fx::FxHashMap; -use rustc::mir::AssertMessage; use rustc_ast::ast::Mutability; +use rustc_middle::mir::AssertMessage; use rustc_span::symbol::Symbol; use rustc_span::{def_id::DefId, Span}; @@ -267,7 +267,7 @@ impl<'mir, 'tcx> interpret::Machine<'mir, 'tcx> for CompileTimeInterpreter { msg: &AssertMessage<'tcx>, _unwind: Option, ) -> InterpResult<'tcx> { - use rustc::mir::AssertKind::*; + use rustc_middle::mir::AssertKind::*; // Convert `AssertKind` to `AssertKind`. let err = match msg { BoundsCheck { ref len, ref index } => { diff --git a/src/librustc_mir/const_eval/mod.rs b/src/librustc_mir/const_eval/mod.rs index 6e7e6f9d34526..78d1e8989a2f5 100644 --- a/src/librustc_mir/const_eval/mod.rs +++ b/src/librustc_mir/const_eval/mod.rs @@ -2,9 +2,9 @@ use std::convert::TryFrom; -use rustc::mir; -use rustc::ty::layout::VariantIdx; -use rustc::ty::{self, TyCtxt}; +use rustc_middle::mir; +use rustc_middle::ty::layout::VariantIdx; +use rustc_middle::ty::{self, TyCtxt}; use rustc_span::{source_map::DUMMY_SP, symbol::Symbol}; use crate::interpret::{intern_const_alloc_recursive, ConstValue, InternKind, InterpCx}; diff --git a/src/librustc_mir/dataflow/drop_flag_effects.rs b/src/librustc_mir/dataflow/drop_flag_effects.rs index 720b17e7ff85b..f9511921a8786 100644 --- a/src/librustc_mir/dataflow/drop_flag_effects.rs +++ b/src/librustc_mir/dataflow/drop_flag_effects.rs @@ -1,6 +1,6 @@ use crate::util::elaborate_drops::DropFlagState; -use rustc::mir::{self, Body, Location}; -use rustc::ty::{self, TyCtxt}; +use rustc_middle::mir::{self, Body, Location}; +use rustc_middle::ty::{self, TyCtxt}; use super::indexes::MovePathIndex; use super::move_paths::{InitKind, LookupResult, MoveData}; diff --git a/src/librustc_mir/dataflow/framework/cursor.rs b/src/librustc_mir/dataflow/framework/cursor.rs index 170157aca5ddd..ed7c75f2f9d97 100644 --- a/src/librustc_mir/dataflow/framework/cursor.rs +++ b/src/librustc_mir/dataflow/framework/cursor.rs @@ -2,8 +2,8 @@ use std::borrow::Borrow; -use rustc::mir::{self, BasicBlock, Location, TerminatorKind}; use rustc_index::bit_set::BitSet; +use rustc_middle::mir::{self, BasicBlock, Location, TerminatorKind}; use super::{Analysis, Results}; diff --git a/src/librustc_mir/dataflow/framework/engine.rs b/src/librustc_mir/dataflow/framework/engine.rs index d32072125b3b9..fc2a1bc62a6cf 100644 --- a/src/librustc_mir/dataflow/framework/engine.rs +++ b/src/librustc_mir/dataflow/framework/engine.rs @@ -4,13 +4,13 @@ use std::ffi::OsString; use std::fs; use std::path::PathBuf; -use rustc::mir::{self, traversal, BasicBlock, Location}; -use rustc::ty::{self, TyCtxt}; use rustc_ast::ast; use rustc_data_structures::work_queue::WorkQueue; use rustc_hir::def_id::DefId; use rustc_index::bit_set::BitSet; use rustc_index::vec::IndexVec; +use rustc_middle::mir::{self, traversal, BasicBlock, Location}; +use rustc_middle::ty::{self, TyCtxt}; use rustc_span::symbol::{sym, Symbol}; use super::graphviz; diff --git a/src/librustc_mir/dataflow/framework/graphviz.rs b/src/librustc_mir/dataflow/framework/graphviz.rs index c15f2a726ee70..a85c428d3bfa4 100644 --- a/src/librustc_mir/dataflow/framework/graphviz.rs +++ b/src/librustc_mir/dataflow/framework/graphviz.rs @@ -3,10 +3,10 @@ use std::cell::RefCell; use std::{io, ops, str}; -use rustc::mir::{self, BasicBlock, Body, Location}; use rustc_hir::def_id::DefId; use rustc_index::bit_set::{BitSet, HybridBitSet}; use rustc_index::vec::{Idx, IndexVec}; +use rustc_middle::mir::{self, BasicBlock, Body, Location}; use super::{Analysis, GenKillSet, Results, ResultsRefCursor}; use crate::util::graphviz_safe_def_name; diff --git a/src/librustc_mir/dataflow/framework/mod.rs b/src/librustc_mir/dataflow/framework/mod.rs index 8556be7e74062..91c4b5ad634cb 100644 --- a/src/librustc_mir/dataflow/framework/mod.rs +++ b/src/librustc_mir/dataflow/framework/mod.rs @@ -32,12 +32,12 @@ use std::io; -use rustc::mir::{self, BasicBlock, Location}; -use rustc::ty::layout::VariantIdx; -use rustc::ty::{self, TyCtxt}; use rustc_hir::def_id::DefId; use rustc_index::bit_set::{BitSet, HybridBitSet}; use rustc_index::vec::{Idx, IndexVec}; +use rustc_middle::mir::{self, BasicBlock, Location}; +use rustc_middle::ty::layout::VariantIdx; +use rustc_middle::ty::{self, TyCtxt}; mod cursor; mod engine; diff --git a/src/librustc_mir/dataflow/framework/tests.rs b/src/librustc_mir/dataflow/framework/tests.rs index 8f07a10e1b01c..c38cb456667fb 100644 --- a/src/librustc_mir/dataflow/framework/tests.rs +++ b/src/librustc_mir/dataflow/framework/tests.rs @@ -1,9 +1,9 @@ //! A test for the logic that updates the state in a `ResultsCursor` during seek. -use rustc::mir::{self, BasicBlock, Location}; -use rustc::ty; use rustc_index::bit_set::BitSet; use rustc_index::vec::IndexVec; +use rustc_middle::mir::{self, BasicBlock, Location}; +use rustc_middle::ty; use rustc_span::DUMMY_SP; use super::*; diff --git a/src/librustc_mir/dataflow/framework/visitor.rs b/src/librustc_mir/dataflow/framework/visitor.rs index 6e1513bcd1dd0..9561b68398d5d 100644 --- a/src/librustc_mir/dataflow/framework/visitor.rs +++ b/src/librustc_mir/dataflow/framework/visitor.rs @@ -1,5 +1,5 @@ -use rustc::mir::{self, BasicBlock, Location}; use rustc_index::bit_set::BitSet; +use rustc_middle::mir::{self, BasicBlock, Location}; use super::{Analysis, Results}; use crate::dataflow::impls::{borrows::Borrows, EverInitializedPlaces, MaybeUninitializedPlaces}; diff --git a/src/librustc_mir/dataflow/graphviz.rs b/src/librustc_mir/dataflow/graphviz.rs index a9ef7ef6c528a..e74d27bafb2d9 100644 --- a/src/librustc_mir/dataflow/graphviz.rs +++ b/src/librustc_mir/dataflow/graphviz.rs @@ -1,7 +1,7 @@ //! Hook into libgraphviz for rendering dataflow graphs for MIR. -use rustc::mir::{BasicBlock, Body}; use rustc_hir::def_id::DefId; +use rustc_middle::mir::{BasicBlock, Body}; use std::fs; use std::io; diff --git a/src/librustc_mir/dataflow/impls/borrowed_locals.rs b/src/librustc_mir/dataflow/impls/borrowed_locals.rs index 955021d83aa09..a62e45082cb8a 100644 --- a/src/librustc_mir/dataflow/impls/borrowed_locals.rs +++ b/src/librustc_mir/dataflow/impls/borrowed_locals.rs @@ -1,9 +1,9 @@ pub use super::*; use crate::dataflow::{AnalysisDomain, GenKill, GenKillAnalysis}; -use rustc::mir::visit::Visitor; -use rustc::mir::*; -use rustc::ty::{ParamEnv, TyCtxt}; +use rustc_middle::mir::visit::Visitor; +use rustc_middle::mir::*; +use rustc_middle::ty::{ParamEnv, TyCtxt}; use rustc_span::DUMMY_SP; pub type MaybeMutBorrowedLocals<'mir, 'tcx> = MaybeBorrowedLocals>; diff --git a/src/librustc_mir/dataflow/impls/borrows.rs b/src/librustc_mir/dataflow/impls/borrows.rs index d25d3a9bfc176..6f35d9ac83636 100644 --- a/src/librustc_mir/dataflow/impls/borrows.rs +++ b/src/librustc_mir/dataflow/impls/borrows.rs @@ -1,6 +1,6 @@ -use rustc::mir::{self, Body, Location, Place}; -use rustc::ty::RegionVid; -use rustc::ty::TyCtxt; +use rustc_middle::mir::{self, Body, Location, Place}; +use rustc_middle::ty::RegionVid; +use rustc_middle::ty::TyCtxt; use rustc_data_structures::fx::FxHashMap; use rustc_index::bit_set::BitSet; diff --git a/src/librustc_mir/dataflow/impls/mod.rs b/src/librustc_mir/dataflow/impls/mod.rs index 180094e412b15..3572d460274bc 100644 --- a/src/librustc_mir/dataflow/impls/mod.rs +++ b/src/librustc_mir/dataflow/impls/mod.rs @@ -2,11 +2,11 @@ //! bitvectors attached to each basic block, represented via a //! zero-sized structure. -use rustc::mir::{self, Body, Location}; -use rustc::ty::layout::VariantIdx; -use rustc::ty::{self, TyCtxt}; use rustc_index::bit_set::BitSet; use rustc_index::vec::Idx; +use rustc_middle::mir::{self, Body, Location}; +use rustc_middle::ty::layout::VariantIdx; +use rustc_middle::ty::{self, TyCtxt}; use super::MoveDataParamEnv; diff --git a/src/librustc_mir/dataflow/impls/storage_liveness.rs b/src/librustc_mir/dataflow/impls/storage_liveness.rs index 1d18279938b25..48dd4e9794c03 100644 --- a/src/librustc_mir/dataflow/impls/storage_liveness.rs +++ b/src/librustc_mir/dataflow/impls/storage_liveness.rs @@ -2,8 +2,8 @@ pub use super::*; use crate::dataflow::BottomValue; use crate::dataflow::{self, GenKill, Results, ResultsRefCursor}; -use rustc::mir::visit::{NonMutatingUseContext, PlaceContext, Visitor}; -use rustc::mir::*; +use rustc_middle::mir::visit::{NonMutatingUseContext, PlaceContext, Visitor}; +use rustc_middle::mir::*; use std::cell::RefCell; #[derive(Copy, Clone)] diff --git a/src/librustc_mir/dataflow/mod.rs b/src/librustc_mir/dataflow/mod.rs index 96e5b6936a191..d244587fcc8c2 100644 --- a/src/librustc_mir/dataflow/mod.rs +++ b/src/librustc_mir/dataflow/mod.rs @@ -1,5 +1,5 @@ -use rustc::ty; use rustc_ast::ast::{self, MetaItem}; +use rustc_middle::ty; use rustc_span::symbol::{sym, Symbol}; pub(crate) use self::drop_flag_effects::*; diff --git a/src/librustc_mir/dataflow/move_paths/abs_domain.rs b/src/librustc_mir/dataflow/move_paths/abs_domain.rs index 0ecf22ae23361..28936274baafa 100644 --- a/src/librustc_mir/dataflow/move_paths/abs_domain.rs +++ b/src/librustc_mir/dataflow/move_paths/abs_domain.rs @@ -11,8 +11,8 @@ //! `a[x]` would still overlap them both. But that is not this //! representation does today.) -use rustc::mir::{Local, Operand, PlaceElem, ProjectionElem}; -use rustc::ty::Ty; +use rustc_middle::mir::{Local, Operand, PlaceElem, ProjectionElem}; +use rustc_middle::ty::Ty; #[derive(Copy, Clone, PartialEq, Eq, Hash, Debug)] pub struct AbstractOperand; diff --git a/src/librustc_mir/dataflow/move_paths/builder.rs b/src/librustc_mir/dataflow/move_paths/builder.rs index 8061765f66d90..6918d165a2bc5 100644 --- a/src/librustc_mir/dataflow/move_paths/builder.rs +++ b/src/librustc_mir/dataflow/move_paths/builder.rs @@ -1,7 +1,7 @@ -use rustc::mir::tcx::RvalueInitializationState; -use rustc::mir::*; -use rustc::ty::{self, TyCtxt}; use rustc_index::vec::IndexVec; +use rustc_middle::mir::tcx::RvalueInitializationState; +use rustc_middle::mir::*; +use rustc_middle::ty::{self, TyCtxt}; use smallvec::{smallvec, SmallVec}; use std::convert::TryInto; diff --git a/src/librustc_mir/dataflow/move_paths/mod.rs b/src/librustc_mir/dataflow/move_paths/mod.rs index 593952bfa7c80..d66d2625d78ea 100644 --- a/src/librustc_mir/dataflow/move_paths/mod.rs +++ b/src/librustc_mir/dataflow/move_paths/mod.rs @@ -1,8 +1,8 @@ use core::slice::Iter; -use rustc::mir::*; -use rustc::ty::{ParamEnv, Ty, TyCtxt}; use rustc_data_structures::fx::FxHashMap; use rustc_index::vec::{Enumerated, IndexVec}; +use rustc_middle::mir::*; +use rustc_middle::ty::{ParamEnv, Ty, TyCtxt}; use rustc_span::Span; use smallvec::SmallVec; diff --git a/src/librustc_mir/interpret/cast.rs b/src/librustc_mir/interpret/cast.rs index 9bf8a4f0ec15b..215c7bb747593 100644 --- a/src/librustc_mir/interpret/cast.rs +++ b/src/librustc_mir/interpret/cast.rs @@ -1,19 +1,17 @@ use std::convert::TryFrom; -use rustc::ty::adjustment::PointerCast; -use rustc::ty::layout::{self, Size, TyAndLayout}; -use rustc::ty::{self, Ty, TypeAndMut, TypeFoldable}; +use super::{FnVal, ImmTy, Immediate, InterpCx, Machine, OpTy, PlaceTy}; +use rustc_apfloat::ieee::{Double, Single}; +use rustc_apfloat::{Float, FloatConvert}; use rustc_ast::ast::FloatTy; +use rustc_middle::mir::interpret::{InterpResult, PointerArithmetic, Scalar}; +use rustc_middle::mir::CastKind; +use rustc_middle::ty::adjustment::PointerCast; +use rustc_middle::ty::layout::{self, Size, TyAndLayout}; +use rustc_middle::ty::{self, Ty, TypeAndMut, TypeFoldable}; use rustc_span::symbol::sym; use rustc_target::abi::LayoutOf; -use rustc::mir::interpret::{InterpResult, PointerArithmetic, Scalar}; -use rustc::mir::CastKind; -use rustc_apfloat::ieee::{Double, Single}; -use rustc_apfloat::{Float, FloatConvert}; - -use super::{FnVal, ImmTy, Immediate, InterpCx, Machine, OpTy, PlaceTy}; - impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> { pub fn cast( &mut self, @@ -21,7 +19,7 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> { kind: CastKind, dest: PlaceTy<'tcx, M::PointerTag>, ) -> InterpResult<'tcx> { - use rustc::mir::CastKind::*; + use rustc_middle::mir::CastKind::*; match kind { Pointer(PointerCast::Unsize) => { self.unsize_into(src, dest)?; @@ -104,7 +102,7 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> { src: ImmTy<'tcx, M::PointerTag>, dest_layout: TyAndLayout<'tcx>, ) -> InterpResult<'tcx, Immediate> { - use rustc::ty::TyKind::*; + use rustc_middle::ty::TyKind::*; trace!("Casting {:?}: {:?} to {:?}", *src, src.layout.ty, dest_layout.ty); match src.layout.ty.kind { @@ -190,7 +188,7 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> { let signed = src_layout.abi.is_signed(); let v = if signed { self.sign_extend(v, src_layout) } else { v }; trace!("cast_from_int: {}, {}, {}", v, src_layout.ty, dest_layout.ty); - use rustc::ty::TyKind::*; + use rustc_middle::ty::TyKind::*; match dest_layout.ty.kind { Int(_) | Uint(_) | RawPtr(_) => { let v = self.truncate(v, dest_layout); @@ -224,7 +222,7 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> { where F: Float + Into> + FloatConvert + FloatConvert, { - use rustc::ty::TyKind::*; + use rustc_middle::ty::TyKind::*; match dest_ty.kind { // float -> uint Uint(t) => { diff --git a/src/librustc_mir/interpret/eval_context.rs b/src/librustc_mir/interpret/eval_context.rs index 57431b18ef293..d204be7f80674 100644 --- a/src/librustc_mir/interpret/eval_context.rs +++ b/src/librustc_mir/interpret/eval_context.rs @@ -2,21 +2,21 @@ use std::cell::Cell; use std::fmt::Write; use std::mem; -use rustc::ich::StableHashingContext; -use rustc::mir; -use rustc::mir::interpret::{ - sign_extend, truncate, AllocId, FrameInfo, GlobalId, InterpResult, Pointer, Scalar, -}; -use rustc::ty::layout::{self, Align, HasDataLayout, LayoutOf, Size, TyAndLayout}; -use rustc::ty::query::TyCtxtAt; -use rustc::ty::subst::SubstsRef; -use rustc::ty::{self, Ty, TyCtxt, TypeFoldable}; use rustc_data_structures::fx::FxHashMap; use rustc_data_structures::stable_hasher::{HashStable, StableHasher}; use rustc_hir::def::DefKind; use rustc_hir::def_id::DefId; use rustc_index::vec::IndexVec; use rustc_macros::HashStable; +use rustc_middle::ich::StableHashingContext; +use rustc_middle::mir; +use rustc_middle::mir::interpret::{ + sign_extend, truncate, AllocId, FrameInfo, GlobalId, InterpResult, Pointer, Scalar, +}; +use rustc_middle::ty::layout::{self, Align, HasDataLayout, LayoutOf, Size, TyAndLayout}; +use rustc_middle::ty::query::TyCtxtAt; +use rustc_middle::ty::subst::SubstsRef; +use rustc_middle::ty::{self, Ty, TyCtxt, TypeFoldable}; use rustc_span::source_map::{self, Span, DUMMY_SP}; use super::{ @@ -544,7 +544,7 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> { trace!("push_stack_frame: {:?}: num_bbs: {}", span, body.basic_blocks().len()); for block in body.basic_blocks() { for stmt in block.statements.iter() { - use rustc::mir::StatementKind::{StorageDead, StorageLive}; + use rustc_middle::mir::StatementKind::{StorageDead, StorageLive}; match stmt.kind { StorageLive(local) | StorageDead(local) => { locals[local].value = LocalValue::Dead; diff --git a/src/librustc_mir/interpret/intern.rs b/src/librustc_mir/interpret/intern.rs index b9ed69842f1a9..af415b3837fdf 100644 --- a/src/librustc_mir/interpret/intern.rs +++ b/src/librustc_mir/interpret/intern.rs @@ -4,10 +4,10 @@ //! memory, we need to extract all memory allocations to the global memory pool so they stay around. use super::validity::RefTracking; -use rustc::mir::interpret::{ErrorHandled, InterpResult}; -use rustc::ty::{self, Ty}; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_hir as hir; +use rustc_middle::mir::interpret::{ErrorHandled, InterpResult}; +use rustc_middle::ty::{self, Ty}; use rustc_ast::ast::Mutability; diff --git a/src/librustc_mir/interpret/intrinsics.rs b/src/librustc_mir/interpret/intrinsics.rs index 46f8e98ef34a3..c5f7a94969b2d 100644 --- a/src/librustc_mir/interpret/intrinsics.rs +++ b/src/librustc_mir/interpret/intrinsics.rs @@ -4,16 +4,16 @@ use std::convert::TryFrom; -use rustc::mir::{ +use rustc_hir::def_id::DefId; +use rustc_middle::mir::{ self, interpret::{ConstValue, GlobalId, InterpResult, Scalar}, BinOp, }; -use rustc::ty; -use rustc::ty::layout::{LayoutOf, Primitive, Size}; -use rustc::ty::subst::SubstsRef; -use rustc::ty::TyCtxt; -use rustc_hir::def_id::DefId; +use rustc_middle::ty; +use rustc_middle::ty::layout::{LayoutOf, Primitive, Size}; +use rustc_middle::ty::subst::SubstsRef; +use rustc_middle::ty::TyCtxt; use rustc_span::symbol::{sym, Symbol}; use rustc_span::Span; @@ -98,7 +98,7 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> { }; // Keep the patterns in this match ordered the same as the list in - // `src/librustc/ty/constness.rs` + // `src/librustc_middle/ty/constness.rs` match intrinsic_name { sym::caller_location => { let span = self.find_closest_untracked_caller_location().unwrap_or(span); diff --git a/src/librustc_mir/interpret/intrinsics/caller_location.rs b/src/librustc_mir/interpret/intrinsics/caller_location.rs index 01f9cdea0f0d3..37b01d6db3b41 100644 --- a/src/librustc_mir/interpret/intrinsics/caller_location.rs +++ b/src/librustc_mir/interpret/intrinsics/caller_location.rs @@ -1,7 +1,7 @@ use std::convert::TryFrom; -use rustc::middle::lang_items::PanicLocationLangItem; -use rustc::ty::subst::Subst; +use rustc_middle::middle::lang_items::PanicLocationLangItem; +use rustc_middle::ty::subst::Subst; use rustc_span::{Span, Symbol}; use rustc_target::abi::LayoutOf; diff --git a/src/librustc_mir/interpret/intrinsics/type_name.rs b/src/librustc_mir/interpret/intrinsics/type_name.rs index 0d9582c7323cb..30dcb5deb35d8 100644 --- a/src/librustc_mir/interpret/intrinsics/type_name.rs +++ b/src/librustc_mir/interpret/intrinsics/type_name.rs @@ -1,12 +1,12 @@ -use rustc::mir::interpret::Allocation; -use rustc::ty::{ +use rustc_hir::def_id::CrateNum; +use rustc_hir::definitions::{DefPathData, DisambiguatedDefPathData}; +use rustc_middle::mir::interpret::Allocation; +use rustc_middle::ty::{ self, print::{PrettyPrinter, Print, Printer}, subst::{GenericArg, GenericArgKind}, Ty, TyCtxt, }; -use rustc_hir::def_id::CrateNum; -use rustc_hir::definitions::{DefPathData, DisambiguatedDefPathData}; use std::fmt::Write; struct AbsolutePathPrinter<'tcx> { diff --git a/src/librustc_mir/interpret/machine.rs b/src/librustc_mir/interpret/machine.rs index 74933bed8f89e..faee041f62afb 100644 --- a/src/librustc_mir/interpret/machine.rs +++ b/src/librustc_mir/interpret/machine.rs @@ -5,8 +5,8 @@ use std::borrow::{Borrow, Cow}; use std::hash::Hash; -use rustc::mir; -use rustc::ty::{self, Ty}; +use rustc_middle::mir; +use rustc_middle::ty::{self, Ty}; use rustc_span::{def_id::DefId, Span}; use super::{ diff --git a/src/librustc_mir/interpret/memory.rs b/src/librustc_mir/interpret/memory.rs index 4b68d74feb137..9443ae116fcfd 100644 --- a/src/librustc_mir/interpret/memory.rs +++ b/src/librustc_mir/interpret/memory.rs @@ -11,9 +11,9 @@ use std::collections::VecDeque; use std::convert::TryFrom; use std::ptr; -use rustc::ty::layout::{Align, HasDataLayout, Size, TargetDataLayout}; -use rustc::ty::{self, query::TyCtxtAt, Instance, ParamEnv}; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; +use rustc_middle::ty::layout::{Align, HasDataLayout, Size, TargetDataLayout}; +use rustc_middle::ty::{self, query::TyCtxtAt, Instance, ParamEnv}; use rustc_ast::ast::Mutability; diff --git a/src/librustc_mir/interpret/mod.rs b/src/librustc_mir/interpret/mod.rs index 3063a99886b7b..4e30da829079c 100644 --- a/src/librustc_mir/interpret/mod.rs +++ b/src/librustc_mir/interpret/mod.rs @@ -15,7 +15,7 @@ mod traits; mod validity; mod visitor; -pub use rustc::mir::interpret::*; // have all the `interpret` symbols in one place: here +pub use rustc_middle::mir::interpret::*; // have all the `interpret` symbols in one place: here pub use self::eval_context::{Frame, InterpCx, LocalState, LocalValue, StackPopCleanup}; diff --git a/src/librustc_mir/interpret/operand.rs b/src/librustc_mir/interpret/operand.rs index 358fd9739c641..24639fece46be 100644 --- a/src/librustc_mir/interpret/operand.rs +++ b/src/librustc_mir/interpret/operand.rs @@ -4,18 +4,18 @@ use std::convert::TryFrom; use super::{InterpCx, MPlaceTy, Machine, MemPlace, Place, PlaceTy}; -pub use rustc::mir::interpret::ScalarMaybeUndef; -use rustc::mir::interpret::{ +use rustc_hir::def::Namespace; +use rustc_macros::HashStable; +pub use rustc_middle::mir::interpret::ScalarMaybeUndef; +use rustc_middle::mir::interpret::{ sign_extend, truncate, AllocId, ConstValue, GlobalId, InterpResult, Pointer, Scalar, }; -use rustc::ty::layout::{ +use rustc_middle::ty::layout::{ self, HasDataLayout, IntegerExt, LayoutOf, PrimitiveExt, Size, TyAndLayout, VariantIdx, }; -use rustc::ty::print::{FmtPrinter, PrettyPrinter, Printer}; -use rustc::ty::Ty; -use rustc::{mir, ty}; -use rustc_hir::def::Namespace; -use rustc_macros::HashStable; +use rustc_middle::ty::print::{FmtPrinter, PrettyPrinter, Printer}; +use rustc_middle::ty::Ty; +use rustc_middle::{mir, ty}; use std::fmt::Write; /// An `Immediate` represents a single immediate self-contained Rust value. @@ -415,7 +415,7 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> { base: OpTy<'tcx, M::PointerTag>, proj_elem: &mir::PlaceElem<'tcx>, ) -> InterpResult<'tcx, OpTy<'tcx, M::PointerTag>> { - use rustc::mir::ProjectionElem::*; + use rustc_middle::mir::ProjectionElem::*; Ok(match *proj_elem { Field(field, _) => self.operand_field(base, field.index())?, Downcast(_, variant) => self.operand_downcast(base, variant)?, @@ -495,7 +495,7 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> { mir_op: &mir::Operand<'tcx>, layout: Option>, ) -> InterpResult<'tcx, OpTy<'tcx, M::PointerTag>> { - use rustc::mir::Operand::*; + use rustc_middle::mir::Operand::*; let op = match *mir_op { // FIXME: do some more logic on `move` to invalidate the old location Copy(ref place) | Move(ref place) => self.eval_place_to_op(place, layout)?, diff --git a/src/librustc_mir/interpret/operator.rs b/src/librustc_mir/interpret/operator.rs index 10fa66c49d7bf..42b4f62a08c61 100644 --- a/src/librustc_mir/interpret/operator.rs +++ b/src/librustc_mir/interpret/operator.rs @@ -1,14 +1,14 @@ use std::convert::TryFrom; -use rustc::mir; -use rustc::mir::interpret::{InterpResult, Scalar}; -use rustc::ty::{ +use rustc_apfloat::Float; +use rustc_ast::ast::FloatTy; +use rustc_middle::mir; +use rustc_middle::mir::interpret::{InterpResult, Scalar}; +use rustc_middle::ty::{ self, layout::{LayoutOf, TyAndLayout}, Ty, }; -use rustc_apfloat::Float; -use rustc_ast::ast::FloatTy; use super::{ImmTy, Immediate, InterpCx, Machine, PlaceTy}; @@ -55,7 +55,7 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> { l: char, r: char, ) -> (Scalar, bool, Ty<'tcx>) { - use rustc::mir::BinOp::*; + use rustc_middle::mir::BinOp::*; let res = match bin_op { Eq => l == r, @@ -75,7 +75,7 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> { l: bool, r: bool, ) -> (Scalar, bool, Ty<'tcx>) { - use rustc::mir::BinOp::*; + use rustc_middle::mir::BinOp::*; let res = match bin_op { Eq => l == r, @@ -99,7 +99,7 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> { l: F, r: F, ) -> (Scalar, bool, Ty<'tcx>) { - use rustc::mir::BinOp::*; + use rustc_middle::mir::BinOp::*; let (val, ty) = match bin_op { Eq => (Scalar::from_bool(l == r), self.tcx.types.bool), @@ -127,7 +127,7 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> { r: u128, right_layout: TyAndLayout<'tcx>, ) -> InterpResult<'tcx, (Scalar, bool, Ty<'tcx>)> { - use rustc::mir::BinOp::*; + use rustc_middle::mir::BinOp::*; // Shift ops can have an RHS with a different numeric type. if bin_op == Shl || bin_op == Shr { @@ -362,7 +362,7 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> { un_op: mir::UnOp, val: ImmTy<'tcx, M::PointerTag>, ) -> InterpResult<'tcx, (Scalar, bool, Ty<'tcx>)> { - use rustc::mir::UnOp::*; + use rustc_middle::mir::UnOp::*; let layout = val.layout; let val = val.to_scalar()?; diff --git a/src/librustc_mir/interpret/place.rs b/src/librustc_mir/interpret/place.rs index 7ae8634cb2ab0..f7c1a3cadb881 100644 --- a/src/librustc_mir/interpret/place.rs +++ b/src/librustc_mir/interpret/place.rs @@ -5,13 +5,13 @@ use std::convert::TryFrom; use std::hash::Hash; -use rustc::mir; -use rustc::mir::interpret::truncate; -use rustc::ty::layout::{ +use rustc_macros::HashStable; +use rustc_middle::mir; +use rustc_middle::mir::interpret::truncate; +use rustc_middle::ty::layout::{ self, Align, HasDataLayout, LayoutOf, PrimitiveExt, Size, TyAndLayout, VariantIdx, }; -use rustc::ty::{self, Ty}; -use rustc_macros::HashStable; +use rustc_middle::ty::{self, Ty}; use super::{ AllocId, AllocMap, Allocation, AllocationExtra, ImmTy, Immediate, InterpCx, InterpResult, @@ -529,7 +529,7 @@ where base: MPlaceTy<'tcx, M::PointerTag>, proj_elem: &mir::PlaceElem<'tcx>, ) -> InterpResult<'tcx, MPlaceTy<'tcx, M::PointerTag>> { - use rustc::mir::ProjectionElem::*; + use rustc_middle::mir::ProjectionElem::*; Ok(match *proj_elem { Field(field, _) => self.mplace_field(base, field.index())?, Downcast(_, variant) => self.mplace_downcast(base, variant)?, @@ -617,7 +617,7 @@ where base: PlaceTy<'tcx, M::PointerTag>, proj_elem: &mir::ProjectionElem>, ) -> InterpResult<'tcx, PlaceTy<'tcx, M::PointerTag>> { - use rustc::mir::ProjectionElem::*; + use rustc_middle::mir::ProjectionElem::*; Ok(match *proj_elem { Field(field, _) => self.place_field(base, field.index())?, Downcast(_, variant) => self.place_downcast(base, variant)?, diff --git a/src/librustc_mir/interpret/step.rs b/src/librustc_mir/interpret/step.rs index 764edea2fc5c6..5fb0a081648e8 100644 --- a/src/librustc_mir/interpret/step.rs +++ b/src/librustc_mir/interpret/step.rs @@ -2,9 +2,9 @@ //! //! The main entry point is the `step` method. -use rustc::mir; -use rustc::mir::interpret::{InterpResult, Scalar}; -use rustc::ty::layout::LayoutOf; +use rustc_middle::mir; +use rustc_middle::mir::interpret::{InterpResult, Scalar}; +use rustc_middle::ty::layout::LayoutOf; use super::{InterpCx, Machine}; @@ -12,7 +12,7 @@ use super::{InterpCx, Machine}; /// same type as the result. #[inline] fn binop_left_homogeneous(op: mir::BinOp) -> bool { - use rustc::mir::BinOp::*; + use rustc_middle::mir::BinOp::*; match op { Add | Sub | Mul | Div | Rem | BitXor | BitAnd | BitOr | Offset | Shl | Shr => true, Eq | Ne | Lt | Le | Gt | Ge => false, @@ -22,7 +22,7 @@ fn binop_left_homogeneous(op: mir::BinOp) -> bool { /// same type as the LHS. #[inline] fn binop_right_homogeneous(op: mir::BinOp) -> bool { - use rustc::mir::BinOp::*; + use rustc_middle::mir::BinOp::*; match op { Add | Sub | Mul | Div | Rem | BitXor | BitAnd | BitOr | Eq | Ne | Lt | Le | Gt | Ge => true, Offset | Shl | Shr => false, @@ -79,7 +79,7 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> { fn statement(&mut self, stmt: &mir::Statement<'tcx>) -> InterpResult<'tcx> { info!("{:?}", stmt); - use rustc::mir::StatementKind::*; + use rustc_middle::mir::StatementKind::*; // Some statements (e.g., box) push new stack frames. // We have to record the stack frame number *before* executing the statement. @@ -142,7 +142,7 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> { ) -> InterpResult<'tcx> { let dest = self.eval_place(place)?; - use rustc::mir::Rvalue::*; + use rustc_middle::mir::Rvalue::*; match *rvalue { Use(ref operand) => { // Avoid recomputing the layout diff --git a/src/librustc_mir/interpret/terminator.rs b/src/librustc_mir/interpret/terminator.rs index edae6ef066d3e..a490a0f9bcc1d 100644 --- a/src/librustc_mir/interpret/terminator.rs +++ b/src/librustc_mir/interpret/terminator.rs @@ -1,9 +1,9 @@ use std::borrow::Cow; use std::convert::TryFrom; -use rustc::ty::layout::{self, LayoutOf, TyAndLayout}; -use rustc::ty::Instance; -use rustc::{mir, ty}; +use rustc_middle::ty::layout::{self, LayoutOf, TyAndLayout}; +use rustc_middle::ty::Instance; +use rustc_middle::{mir, ty}; use rustc_span::source_map::Span; use rustc_target::spec::abi::Abi; @@ -16,7 +16,7 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> { &mut self, terminator: &mir::Terminator<'tcx>, ) -> InterpResult<'tcx> { - use rustc::mir::TerminatorKind::*; + use rustc_middle::mir::TerminatorKind::*; match terminator.kind { Return => { self.frame().return_place.map(|r| self.dump_place(*r)); diff --git a/src/librustc_mir/interpret/traits.rs b/src/librustc_mir/interpret/traits.rs index 1e63766b85d42..ed882e107411d 100644 --- a/src/librustc_mir/interpret/traits.rs +++ b/src/librustc_mir/interpret/traits.rs @@ -1,8 +1,8 @@ use std::convert::TryFrom; -use rustc::mir::interpret::{InterpResult, Pointer, PointerArithmetic, Scalar}; -use rustc::ty::layout::{Align, HasDataLayout, LayoutOf, Size}; -use rustc::ty::{self, Instance, Ty, TypeFoldable}; +use rustc_middle::mir::interpret::{InterpResult, Pointer, PointerArithmetic, Scalar}; +use rustc_middle::ty::layout::{Align, HasDataLayout, LayoutOf, Size}; +use rustc_middle::ty::{self, Instance, Ty, TypeFoldable}; use super::{FnVal, InterpCx, Machine, MemoryKind}; diff --git a/src/librustc_mir/interpret/validity.rs b/src/librustc_mir/interpret/validity.rs index 7b580fa12ebaa..0ca565d86787a 100644 --- a/src/librustc_mir/interpret/validity.rs +++ b/src/librustc_mir/interpret/validity.rs @@ -8,10 +8,10 @@ use std::convert::TryFrom; use std::fmt::Write; use std::ops::RangeInclusive; -use rustc::ty; -use rustc::ty::layout::{self, LayoutOf, TyAndLayout, VariantIdx}; use rustc_data_structures::fx::FxHashSet; use rustc_hir as hir; +use rustc_middle::ty; +use rustc_middle::ty::layout::{self, LayoutOf, TyAndLayout, VariantIdx}; use rustc_span::symbol::{sym, Symbol}; use std::hash::Hash; diff --git a/src/librustc_mir/interpret/visitor.rs b/src/librustc_mir/interpret/visitor.rs index 54dec393e71b6..11170164cf35b 100644 --- a/src/librustc_mir/interpret/visitor.rs +++ b/src/librustc_mir/interpret/visitor.rs @@ -1,9 +1,9 @@ //! Visitor for a run-time value with a given layout: Traverse enums, structs and other compound //! types until we arrive at the leaves, with custom handling for primitive types. -use rustc::mir::interpret::InterpResult; -use rustc::ty; -use rustc::ty::layout::{self, TyAndLayout, VariantIdx}; +use rustc_middle::mir::interpret::InterpResult; +use rustc_middle::ty; +use rustc_middle::ty::layout::{self, TyAndLayout, VariantIdx}; use super::{InterpCx, MPlaceTy, Machine, OpTy}; diff --git a/src/librustc_mir/lib.rs b/src/librustc_mir/lib.rs index 85e44adc30b86..e07b8535b9009 100644 --- a/src/librustc_mir/lib.rs +++ b/src/librustc_mir/lib.rs @@ -30,7 +30,7 @@ Rust MIR: a lowered representation of Rust. #[macro_use] extern crate log; #[macro_use] -extern crate rustc; +extern crate rustc_middle; mod borrow_check; pub mod const_eval; @@ -41,7 +41,7 @@ mod shim; pub mod transform; pub mod util; -use rustc::ty::query::Providers; +use rustc_middle::ty::query::Providers; pub fn provide(providers: &mut Providers<'_>) { borrow_check::provide(providers); diff --git a/src/librustc_mir/monomorphize/collector.rs b/src/librustc_mir/monomorphize/collector.rs index e42cff0269923..939a8d837b8be 100644 --- a/src/librustc_mir/monomorphize/collector.rs +++ b/src/librustc_mir/monomorphize/collector.rs @@ -176,23 +176,23 @@ use crate::monomorphize; -use rustc::middle::codegen_fn_attrs::CodegenFnAttrFlags; -use rustc::middle::lang_items::{ExchangeMallocFnLangItem, StartFnLangItem}; -use rustc::mir::interpret::{AllocId, ConstValue}; -use rustc::mir::interpret::{ErrorHandled, GlobalAlloc, Scalar}; -use rustc::mir::mono::{InstantiationMode, MonoItem}; -use rustc::mir::visit::Visitor as MirVisitor; -use rustc::mir::{self, Local, Location}; -use rustc::ty::adjustment::{CustomCoerceUnsized, PointerCast}; -use rustc::ty::print::obsolete::DefPathBasedNames; -use rustc::ty::subst::InternalSubsts; -use rustc::ty::{self, GenericParamDefKind, Instance, Ty, TyCtxt, TypeFoldable}; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_data_structures::sync::{par_iter, MTLock, MTRef, ParallelIterator}; use rustc_hir as hir; use rustc_hir::def_id::{DefId, DefIdMap, LOCAL_CRATE}; use rustc_hir::itemlikevisit::ItemLikeVisitor; use rustc_index::bit_set::GrowableBitSet; +use rustc_middle::middle::codegen_fn_attrs::CodegenFnAttrFlags; +use rustc_middle::middle::lang_items::{ExchangeMallocFnLangItem, StartFnLangItem}; +use rustc_middle::mir::interpret::{AllocId, ConstValue}; +use rustc_middle::mir::interpret::{ErrorHandled, GlobalAlloc, Scalar}; +use rustc_middle::mir::mono::{InstantiationMode, MonoItem}; +use rustc_middle::mir::visit::Visitor as MirVisitor; +use rustc_middle::mir::{self, Local, Location}; +use rustc_middle::ty::adjustment::{CustomCoerceUnsized, PointerCast}; +use rustc_middle::ty::print::obsolete::DefPathBasedNames; +use rustc_middle::ty::subst::InternalSubsts; +use rustc_middle::ty::{self, GenericParamDefKind, Instance, Ty, TyCtxt, TypeFoldable}; use rustc_session::config::EntryFnType; use smallvec::SmallVec; use std::iter; diff --git a/src/librustc_mir/monomorphize/mod.rs b/src/librustc_mir/monomorphize/mod.rs index 7177bf726d403..bbb8e063a4573 100644 --- a/src/librustc_mir/monomorphize/mod.rs +++ b/src/librustc_mir/monomorphize/mod.rs @@ -1,6 +1,6 @@ -use rustc::traits; -use rustc::ty::adjustment::CustomCoerceUnsized; -use rustc::ty::{self, Ty, TyCtxt}; +use rustc_middle::traits; +use rustc_middle::ty::adjustment::CustomCoerceUnsized; +use rustc_middle::ty::{self, Ty, TyCtxt}; pub mod collector; pub mod partitioning; diff --git a/src/librustc_mir/monomorphize/partitioning.rs b/src/librustc_mir/monomorphize/partitioning.rs index 9b81d69ce694c..ba01e370aaef5 100644 --- a/src/librustc_mir/monomorphize/partitioning.rs +++ b/src/librustc_mir/monomorphize/partitioning.rs @@ -96,17 +96,17 @@ use std::cmp; use std::collections::hash_map::Entry; use std::sync::Arc; -use rustc::middle::codegen_fn_attrs::CodegenFnAttrFlags; -use rustc::middle::exported_symbols::SymbolExportLevel; -use rustc::mir::mono::{CodegenUnit, CodegenUnitNameBuilder, Linkage, Visibility}; -use rustc::mir::mono::{InstantiationMode, MonoItem}; -use rustc::ty::print::characteristic_def_id_of_type; -use rustc::ty::query::Providers; -use rustc::ty::{self, DefIdTree, InstanceDef, TyCtxt}; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_data_structures::sync; use rustc_hir::def::DefKind; use rustc_hir::def_id::{CrateNum, DefId, DefIdSet, CRATE_DEF_INDEX, LOCAL_CRATE}; +use rustc_middle::middle::codegen_fn_attrs::CodegenFnAttrFlags; +use rustc_middle::middle::exported_symbols::SymbolExportLevel; +use rustc_middle::mir::mono::{CodegenUnit, CodegenUnitNameBuilder, Linkage, Visibility}; +use rustc_middle::mir::mono::{InstantiationMode, MonoItem}; +use rustc_middle::ty::print::characteristic_def_id_of_type; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::{self, DefIdTree, InstanceDef, TyCtxt}; use rustc_span::symbol::Symbol; use crate::monomorphize::collector::InliningMap; diff --git a/src/librustc_mir/shim.rs b/src/librustc_mir/shim.rs index eeb9d5f5a1fcc..98a95801f1b40 100644 --- a/src/librustc_mir/shim.rs +++ b/src/librustc_mir/shim.rs @@ -1,10 +1,10 @@ -use rustc::mir::*; -use rustc::ty::layout::VariantIdx; -use rustc::ty::query::Providers; -use rustc::ty::subst::{InternalSubsts, Subst}; -use rustc::ty::{self, Ty, TyCtxt, TypeFoldable}; use rustc_hir as hir; use rustc_hir::def_id::DefId; +use rustc_middle::mir::*; +use rustc_middle::ty::layout::VariantIdx; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::subst::{InternalSubsts, Subst}; +use rustc_middle::ty::{self, Ty, TyCtxt, TypeFoldable}; use rustc_index::vec::{Idx, IndexVec}; diff --git a/src/librustc_mir/transform/add_call_guards.rs b/src/librustc_mir/transform/add_call_guards.rs index c979b569ec5c7..6deb5d6485ae1 100644 --- a/src/librustc_mir/transform/add_call_guards.rs +++ b/src/librustc_mir/transform/add_call_guards.rs @@ -1,7 +1,7 @@ use crate::transform::{MirPass, MirSource}; -use rustc::mir::*; -use rustc::ty::TyCtxt; use rustc_index::vec::{Idx, IndexVec}; +use rustc_middle::mir::*; +use rustc_middle::ty::TyCtxt; #[derive(PartialEq)] pub enum AddCallGuards { diff --git a/src/librustc_mir/transform/add_moves_for_packed_drops.rs b/src/librustc_mir/transform/add_moves_for_packed_drops.rs index 38db9e5195937..98a148d60ba37 100644 --- a/src/librustc_mir/transform/add_moves_for_packed_drops.rs +++ b/src/librustc_mir/transform/add_moves_for_packed_drops.rs @@ -1,6 +1,6 @@ -use rustc::mir::*; -use rustc::ty::TyCtxt; use rustc_hir::def_id::DefId; +use rustc_middle::mir::*; +use rustc_middle::ty::TyCtxt; use crate::transform::{MirPass, MirSource}; use crate::util; diff --git a/src/librustc_mir/transform/add_retag.rs b/src/librustc_mir/transform/add_retag.rs index aa9cad7ffc19f..5c016b0c515af 100644 --- a/src/librustc_mir/transform/add_retag.rs +++ b/src/librustc_mir/transform/add_retag.rs @@ -5,8 +5,8 @@ //! normal MIR semantics. use crate::transform::{MirPass, MirSource}; -use rustc::mir::*; -use rustc::ty::{self, Ty, TyCtxt}; +use rustc_middle::mir::*; +use rustc_middle::ty::{self, Ty, TyCtxt}; pub struct AddRetag; diff --git a/src/librustc_mir/transform/check_consts/mod.rs b/src/librustc_mir/transform/check_consts/mod.rs index b7383663932a4..bce3a506b1dd9 100644 --- a/src/librustc_mir/transform/check_consts/mod.rs +++ b/src/librustc_mir/transform/check_consts/mod.rs @@ -4,10 +4,10 @@ //! has interior mutability or needs to be dropped, as well as the visitor that emits errors when //! it finds operations that are invalid in a certain context. -use rustc::mir; -use rustc::ty::{self, TyCtxt}; use rustc_hir as hir; use rustc_hir::def_id::DefId; +use rustc_middle::mir; +use rustc_middle::ty::{self, TyCtxt}; use std::fmt; diff --git a/src/librustc_mir/transform/check_consts/qualifs.rs b/src/librustc_mir/transform/check_consts/qualifs.rs index 9359ec16533a5..f38b9d8ef8586 100644 --- a/src/librustc_mir/transform/check_consts/qualifs.rs +++ b/src/librustc_mir/transform/check_consts/qualifs.rs @@ -2,8 +2,8 @@ //! //! See the `Qualif` trait for more info. -use rustc::mir::*; -use rustc::ty::{self, AdtDef, Ty}; +use rustc_middle::mir::*; +use rustc_middle::ty::{self, AdtDef, Ty}; use rustc_span::DUMMY_SP; use super::Item as ConstCx; diff --git a/src/librustc_mir/transform/check_consts/resolver.rs b/src/librustc_mir/transform/check_consts/resolver.rs index 5f761ce344880..d39904a56c8b6 100644 --- a/src/librustc_mir/transform/check_consts/resolver.rs +++ b/src/librustc_mir/transform/check_consts/resolver.rs @@ -2,9 +2,9 @@ //! //! This contains the dataflow analysis used to track `Qualif`s on complex control-flow graphs. -use rustc::mir::visit::Visitor; -use rustc::mir::{self, BasicBlock, Local, Location}; use rustc_index::bit_set::BitSet; +use rustc_middle::mir::visit::Visitor; +use rustc_middle::mir::{self, BasicBlock, Local, Location}; use std::marker::PhantomData; diff --git a/src/librustc_mir/transform/check_consts/validation.rs b/src/librustc_mir/transform/check_consts/validation.rs index 99c3437bf69f8..c8320a1561ae8 100644 --- a/src/librustc_mir/transform/check_consts/validation.rs +++ b/src/librustc_mir/transform/check_consts/validation.rs @@ -1,14 +1,14 @@ //! The `Visitor` responsible for actually checking a `mir::Body` for invalid operations. -use rustc::middle::lang_items; -use rustc::mir::visit::{MutatingUseContext, NonMutatingUseContext, PlaceContext, Visitor}; -use rustc::mir::*; -use rustc::ty::cast::CastTy; -use rustc::ty::{self, Instance, InstanceDef, TyCtxt}; use rustc_errors::struct_span_err; use rustc_hir::{def_id::DefId, HirId}; use rustc_index::bit_set::BitSet; use rustc_infer::infer::TyCtxtInferExt; +use rustc_middle::middle::lang_items; +use rustc_middle::mir::visit::{MutatingUseContext, NonMutatingUseContext, PlaceContext, Visitor}; +use rustc_middle::mir::*; +use rustc_middle::ty::cast::CastTy; +use rustc_middle::ty::{self, Instance, InstanceDef, TyCtxt}; use rustc_span::symbol::sym; use rustc_span::Span; use rustc_trait_selection::traits::error_reporting::InferCtxtExt; diff --git a/src/librustc_mir/transform/check_unsafety.rs b/src/librustc_mir/transform/check_unsafety.rs index 546361d62f465..d22e0d513cf20 100644 --- a/src/librustc_mir/transform/check_unsafety.rs +++ b/src/librustc_mir/transform/check_unsafety.rs @@ -1,14 +1,14 @@ -use rustc::mir::visit::{MutatingUseContext, PlaceContext, Visitor}; -use rustc::mir::*; -use rustc::ty::cast::CastTy; -use rustc::ty::query::Providers; -use rustc::ty::{self, TyCtxt}; use rustc_data_structures::fx::FxHashSet; use rustc_errors::struct_span_err; use rustc_hir as hir; use rustc_hir::def_id::DefId; use rustc_hir::intravisit; use rustc_hir::Node; +use rustc_middle::mir::visit::{MutatingUseContext, PlaceContext, Visitor}; +use rustc_middle::mir::*; +use rustc_middle::ty::cast::CastTy; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::{self, TyCtxt}; use rustc_session::lint::builtin::{SAFE_PACKED_BORROWS, UNUSED_UNSAFE}; use rustc_span::symbol::{sym, Symbol}; diff --git a/src/librustc_mir/transform/cleanup_post_borrowck.rs b/src/librustc_mir/transform/cleanup_post_borrowck.rs index 3d219ac2c01ec..446aadd56dc30 100644 --- a/src/librustc_mir/transform/cleanup_post_borrowck.rs +++ b/src/librustc_mir/transform/cleanup_post_borrowck.rs @@ -11,16 +11,16 @@ //! temporaries read by [`ForMatchGuard`] reads, and [`DeleteFakeBorrows`] //! deletes the initialization of those temporaries. //! -//! [`AscribeUserType`]: rustc::mir::StatementKind::AscribeUserType -//! [`Shallow`]: rustc::mir::BorrowKind::Shallow -//! [`FakeRead`]: rustc::mir::StatementKind::FakeRead -//! [`Nop`]: rustc::mir::StatementKind::Nop +//! [`AscribeUserType`]: rustc_middle::mir::StatementKind::AscribeUserType +//! [`Shallow`]: rustc_middle::mir::BorrowKind::Shallow +//! [`FakeRead`]: rustc_middle::mir::StatementKind::FakeRead +//! [`Nop`]: rustc_middle::mir::StatementKind::Nop use crate::transform::{MirPass, MirSource}; -use rustc::mir::visit::MutVisitor; -use rustc::mir::{BodyAndCache, BorrowKind, Location, Rvalue}; -use rustc::mir::{Statement, StatementKind}; -use rustc::ty::TyCtxt; +use rustc_middle::mir::visit::MutVisitor; +use rustc_middle::mir::{BodyAndCache, BorrowKind, Location, Rvalue}; +use rustc_middle::mir::{Statement, StatementKind}; +use rustc_middle::ty::TyCtxt; pub struct CleanupNonCodegenStatements; diff --git a/src/librustc_mir/transform/const_prop.rs b/src/librustc_mir/transform/const_prop.rs index 2a8b034d35b56..8e004e45b7a3a 100644 --- a/src/librustc_mir/transform/const_prop.rs +++ b/src/librustc_mir/transform/const_prop.rs @@ -4,26 +4,26 @@ use std::borrow::Cow; use std::cell::Cell; -use rustc::mir::interpret::{InterpResult, Scalar}; -use rustc::mir::visit::{ +use rustc_ast::ast::Mutability; +use rustc_data_structures::fx::FxHashMap; +use rustc_hir::def::DefKind; +use rustc_hir::HirId; +use rustc_index::vec::IndexVec; +use rustc_middle::mir::interpret::{InterpResult, Scalar}; +use rustc_middle::mir::visit::{ MutVisitor, MutatingUseContext, NonMutatingUseContext, PlaceContext, Visitor, }; -use rustc::mir::{ +use rustc_middle::mir::{ read_only, AggregateKind, AssertKind, BasicBlock, BinOp, Body, BodyAndCache, ClearCrossCrate, Constant, Local, LocalDecl, LocalKind, Location, Operand, Place, ReadOnlyBodyAndCache, Rvalue, SourceInfo, SourceScope, SourceScopeData, Statement, StatementKind, Terminator, TerminatorKind, UnOp, RETURN_PLACE, }; -use rustc::ty::layout::{ +use rustc_middle::ty::layout::{ HasDataLayout, HasTyCtxt, LayoutError, LayoutOf, Size, TargetDataLayout, TyAndLayout, }; -use rustc::ty::subst::{InternalSubsts, Subst}; -use rustc::ty::{self, ConstKind, Instance, ParamEnv, Ty, TyCtxt, TypeFoldable}; -use rustc_ast::ast::Mutability; -use rustc_data_structures::fx::FxHashMap; -use rustc_hir::def::DefKind; -use rustc_hir::HirId; -use rustc_index::vec::IndexVec; +use rustc_middle::ty::subst::{InternalSubsts, Subst}; +use rustc_middle::ty::{self, ConstKind, Instance, ParamEnv, Ty, TyCtxt, TypeFoldable}; use rustc_session::lint; use rustc_span::{def_id::DefId, Span}; use rustc_trait_selection::traits; @@ -52,7 +52,7 @@ macro_rules! throw_machine_stop_str { write!(f, $($tt)*) } } - impl rustc::mir::interpret::MachineStopType for Zst {} + impl rustc_middle::mir::interpret::MachineStopType for Zst {} throw_machine_stop!(Zst) }}; } @@ -66,7 +66,7 @@ impl<'tcx> MirPass<'tcx> for ConstProp { return; } - use rustc::hir::map::blocks::FnLikeNode; + use rustc_middle::hir::map::blocks::FnLikeNode; let hir_id = tcx .hir() .as_local_hir_id(source.def_id()) @@ -215,8 +215,8 @@ impl<'mir, 'tcx> interpret::Machine<'mir, 'tcx> for ConstPropMachine { fn assert_panic( _ecx: &mut InterpCx<'mir, 'tcx, Self>, - _msg: &rustc::mir::AssertMessage<'tcx>, - _unwind: Option, + _msg: &rustc_middle::mir::AssertMessage<'tcx>, + _unwind: Option, ) -> InterpResult<'tcx> { bug!("panics terminators are not evaluated in ConstProp") } @@ -785,7 +785,7 @@ impl CanConstProp { impl<'tcx> Visitor<'tcx> for CanConstProp { fn visit_local(&mut self, &local: &Local, context: PlaceContext, _: Location) { - use rustc::mir::visit::PlaceContext::*; + use rustc_middle::mir::visit::PlaceContext::*; match context { // Constants must have at most one write // FIXME(oli-obk): we could be more powerful here, if the multiple writes diff --git a/src/librustc_mir/transform/copy_prop.rs b/src/librustc_mir/transform/copy_prop.rs index b8ca823a985ba..76cbe5a1d458a 100644 --- a/src/librustc_mir/transform/copy_prop.rs +++ b/src/librustc_mir/transform/copy_prop.rs @@ -21,12 +21,12 @@ use crate::transform::{MirPass, MirSource}; use crate::util::def_use::DefUseAnalysis; -use rustc::mir::visit::MutVisitor; -use rustc::mir::{ +use rustc_middle::mir::visit::MutVisitor; +use rustc_middle::mir::{ read_only, Body, BodyAndCache, Constant, Local, LocalKind, Location, Operand, Place, Rvalue, StatementKind, }; -use rustc::ty::TyCtxt; +use rustc_middle::ty::TyCtxt; pub struct CopyPropagation; diff --git a/src/librustc_mir/transform/deaggregator.rs b/src/librustc_mir/transform/deaggregator.rs index 9f8964ee5a0c4..3e2be7fd7d554 100644 --- a/src/librustc_mir/transform/deaggregator.rs +++ b/src/librustc_mir/transform/deaggregator.rs @@ -1,7 +1,7 @@ use crate::transform::{MirPass, MirSource}; use crate::util::expand_aggregate; -use rustc::mir::*; -use rustc::ty::TyCtxt; +use rustc_middle::mir::*; +use rustc_middle::ty::TyCtxt; pub struct Deaggregator; diff --git a/src/librustc_mir/transform/dump_mir.rs b/src/librustc_mir/transform/dump_mir.rs index 795bcb57d0678..30d1613b55ca7 100644 --- a/src/librustc_mir/transform/dump_mir.rs +++ b/src/librustc_mir/transform/dump_mir.rs @@ -7,8 +7,8 @@ use std::io; use crate::transform::{MirPass, MirSource}; use crate::util as mir_util; -use rustc::mir::{Body, BodyAndCache}; -use rustc::ty::TyCtxt; +use rustc_middle::mir::{Body, BodyAndCache}; +use rustc_middle::ty::TyCtxt; use rustc_session::config::{OutputFilenames, OutputType}; pub struct Marker(pub &'static str); diff --git a/src/librustc_mir/transform/elaborate_drops.rs b/src/librustc_mir/transform/elaborate_drops.rs index 4ec4ef0206105..fc382312aeb50 100644 --- a/src/librustc_mir/transform/elaborate_drops.rs +++ b/src/librustc_mir/transform/elaborate_drops.rs @@ -9,12 +9,12 @@ use crate::transform::{MirPass, MirSource}; use crate::util::elaborate_drops::{elaborate_drop, DropFlagState, Unwind}; use crate::util::elaborate_drops::{DropElaborator, DropFlagMode, DropStyle}; use crate::util::patch::MirPatch; -use rustc::mir::*; -use rustc::ty::layout::VariantIdx; -use rustc::ty::{self, TyCtxt}; use rustc_data_structures::fx::FxHashMap; use rustc_hir as hir; use rustc_index::bit_set::BitSet; +use rustc_middle::mir::*; +use rustc_middle::ty::layout::VariantIdx; +use rustc_middle::ty::{self, TyCtxt}; use rustc_span::Span; use std::fmt; diff --git a/src/librustc_mir/transform/generator.rs b/src/librustc_mir/transform/generator.rs index 030df37827f98..aa247a00849fc 100644 --- a/src/librustc_mir/transform/generator.rs +++ b/src/librustc_mir/transform/generator.rs @@ -56,17 +56,17 @@ use crate::transform::simplify; use crate::transform::{MirPass, MirSource}; use crate::util::dump_mir; use crate::util::liveness; -use rustc::mir::visit::{MutVisitor, PlaceContext, Visitor}; -use rustc::mir::*; -use rustc::ty::layout::VariantIdx; -use rustc::ty::subst::SubstsRef; -use rustc::ty::GeneratorSubsts; -use rustc::ty::{self, AdtDef, Ty, TyCtxt}; use rustc_data_structures::fx::FxHashMap; use rustc_hir as hir; use rustc_hir::def_id::DefId; use rustc_index::bit_set::{BitMatrix, BitSet}; use rustc_index::vec::{Idx, IndexVec}; +use rustc_middle::mir::visit::{MutVisitor, PlaceContext, Visitor}; +use rustc_middle::mir::*; +use rustc_middle::ty::layout::VariantIdx; +use rustc_middle::ty::subst::SubstsRef; +use rustc_middle::ty::GeneratorSubsts; +use rustc_middle::ty::{self, AdtDef, Ty, TyCtxt}; use std::borrow::Cow; use std::iter; @@ -1079,7 +1079,7 @@ fn create_generator_resume_function<'tcx>( let mut cases = create_cases(body, &transform, Operation::Resume); - use rustc::mir::AssertKind::{ResumedAfterPanic, ResumedAfterReturn}; + use rustc_middle::mir::AssertKind::{ResumedAfterPanic, ResumedAfterReturn}; // Jump to the entry point on the unresumed cases.insert(0, (UNRESUMED, BasicBlock::new(0))); diff --git a/src/librustc_mir/transform/inline.rs b/src/librustc_mir/transform/inline.rs index 16c32e138fdf0..2c27d4c0d2786 100644 --- a/src/librustc_mir/transform/inline.rs +++ b/src/librustc_mir/transform/inline.rs @@ -1,14 +1,14 @@ //! Inlining pass for MIR functions -use rustc::middle::codegen_fn_attrs::CodegenFnAttrFlags; -use rustc::mir::visit::*; -use rustc::mir::*; -use rustc::ty::subst::{Subst, SubstsRef}; -use rustc::ty::{self, Instance, InstanceDef, ParamEnv, Ty, TyCtxt}; use rustc_attr as attr; use rustc_hir::def_id::DefId; use rustc_index::bit_set::BitSet; use rustc_index::vec::{Idx, IndexVec}; +use rustc_middle::middle::codegen_fn_attrs::CodegenFnAttrFlags; +use rustc_middle::mir::visit::*; +use rustc_middle::mir::*; +use rustc_middle::ty::subst::{Subst, SubstsRef}; +use rustc_middle::ty::{self, Instance, InstanceDef, ParamEnv, Ty, TyCtxt}; use rustc_session::config::Sanitizer; use rustc_target::spec::abi::Abi; diff --git a/src/librustc_mir/transform/instcombine.rs b/src/librustc_mir/transform/instcombine.rs index bb556f40387d4..3a60048b0ef4e 100644 --- a/src/librustc_mir/transform/instcombine.rs +++ b/src/librustc_mir/transform/instcombine.rs @@ -1,14 +1,14 @@ //! Performs various peephole optimizations. use crate::transform::{MirPass, MirSource}; -use rustc::mir::visit::{MutVisitor, Visitor}; -use rustc::mir::{ +use rustc_data_structures::fx::{FxHashMap, FxHashSet}; +use rustc_index::vec::Idx; +use rustc_middle::mir::visit::{MutVisitor, Visitor}; +use rustc_middle::mir::{ read_only, Body, BodyAndCache, Constant, Local, Location, Operand, Place, PlaceRef, ProjectionElem, Rvalue, }; -use rustc::ty::{self, TyCtxt}; -use rustc_data_structures::fx::{FxHashMap, FxHashSet}; -use rustc_index::vec::Idx; +use rustc_middle::ty::{self, TyCtxt}; use std::mem; pub struct InstCombine; diff --git a/src/librustc_mir/transform/mod.rs b/src/librustc_mir/transform/mod.rs index 50868434baa32..18b3e88c86fee 100644 --- a/src/librustc_mir/transform/mod.rs +++ b/src/librustc_mir/transform/mod.rs @@ -1,13 +1,13 @@ use crate::{shim, util}; -use rustc::mir::{BodyAndCache, ConstQualifs, MirPhase, Promoted}; -use rustc::ty::query::Providers; -use rustc::ty::steal::Steal; -use rustc::ty::{InstanceDef, TyCtxt, TypeFoldable}; use rustc_ast::ast; use rustc_hir as hir; use rustc_hir::def_id::{CrateNum, DefId, DefIdSet, LOCAL_CRATE}; use rustc_hir::intravisit::{self, NestedVisitorMap, Visitor}; use rustc_index::vec::IndexVec; +use rustc_middle::mir::{BodyAndCache, ConstQualifs, MirPhase, Promoted}; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::steal::Steal; +use rustc_middle::ty::{InstanceDef, TyCtxt, TypeFoldable}; use rustc_span::Span; use std::borrow::Cow; diff --git a/src/librustc_mir/transform/no_landing_pads.rs b/src/librustc_mir/transform/no_landing_pads.rs index e17c733e8bb5f..48b31d54fa127 100644 --- a/src/librustc_mir/transform/no_landing_pads.rs +++ b/src/librustc_mir/transform/no_landing_pads.rs @@ -2,9 +2,9 @@ //! specified. use crate::transform::{MirPass, MirSource}; -use rustc::mir::visit::MutVisitor; -use rustc::mir::*; -use rustc::ty::TyCtxt; +use rustc_middle::mir::visit::MutVisitor; +use rustc_middle::mir::*; +use rustc_middle::ty::TyCtxt; pub struct NoLandingPads<'tcx> { tcx: TyCtxt<'tcx>, diff --git a/src/librustc_mir/transform/promote_consts.rs b/src/librustc_mir/transform/promote_consts.rs index a27c80d91cfd0..12f3ed6986faf 100644 --- a/src/librustc_mir/transform/promote_consts.rs +++ b/src/librustc_mir/transform/promote_consts.rs @@ -12,14 +12,14 @@ //! initialization and can otherwise silence errors, if //! move analysis runs after promotion on broken MIR. -use rustc::mir::traversal::ReversePostorder; -use rustc::mir::visit::{MutVisitor, MutatingUseContext, PlaceContext, Visitor}; -use rustc::mir::*; -use rustc::ty::cast::CastTy; -use rustc::ty::subst::InternalSubsts; -use rustc::ty::{self, List, TyCtxt, TypeFoldable}; use rustc_ast::ast::LitKind; use rustc_hir::def_id::DefId; +use rustc_middle::mir::traversal::ReversePostorder; +use rustc_middle::mir::visit::{MutVisitor, MutatingUseContext, PlaceContext, Visitor}; +use rustc_middle::mir::*; +use rustc_middle::ty::cast::CastTy; +use rustc_middle::ty::subst::InternalSubsts; +use rustc_middle::ty::{self, List, TyCtxt, TypeFoldable}; use rustc_span::symbol::sym; use rustc_span::{Span, DUMMY_SP}; diff --git a/src/librustc_mir/transform/qualify_min_const_fn.rs b/src/librustc_mir/transform/qualify_min_const_fn.rs index b2d21d7a84bef..31ffed4cb7b27 100644 --- a/src/librustc_mir/transform/qualify_min_const_fn.rs +++ b/src/librustc_mir/transform/qualify_min_const_fn.rs @@ -1,8 +1,8 @@ -use rustc::mir::*; -use rustc::ty::{self, adjustment::PointerCast, Predicate, Ty, TyCtxt}; use rustc_attr as attr; use rustc_hir as hir; use rustc_hir::def_id::DefId; +use rustc_middle::mir::*; +use rustc_middle::ty::{self, adjustment::PointerCast, Predicate, Ty, TyCtxt}; use rustc_span::symbol::{sym, Symbol}; use rustc_span::Span; use std::borrow::Cow; @@ -152,7 +152,7 @@ fn check_rvalue( | Rvalue::Ref(_, _, place) | Rvalue::AddressOf(_, place) => check_place(tcx, place, span, def_id, body), Rvalue::Cast(CastKind::Misc, operand, cast_ty) => { - use rustc::ty::cast::CastTy; + use rustc_middle::ty::cast::CastTy; let cast_in = CastTy::from_ty(operand.ty(body, tcx)).expect("bad input type for cast"); let cast_out = CastTy::from_ty(cast_ty).expect("bad output type for cast"); match (cast_in, cast_out) { diff --git a/src/librustc_mir/transform/remove_noop_landing_pads.rs b/src/librustc_mir/transform/remove_noop_landing_pads.rs index 91f8b7b1c858d..b188e39eda0f3 100644 --- a/src/librustc_mir/transform/remove_noop_landing_pads.rs +++ b/src/librustc_mir/transform/remove_noop_landing_pads.rs @@ -1,8 +1,8 @@ use crate::transform::{MirPass, MirSource}; use crate::util::patch::MirPatch; -use rustc::mir::*; -use rustc::ty::TyCtxt; use rustc_index::bit_set::BitSet; +use rustc_middle::mir::*; +use rustc_middle::ty::TyCtxt; /// A pass that removes noop landing pads and replaces jumps to them with /// `None`. This is important because otherwise LLVM generates terrible diff --git a/src/librustc_mir/transform/rustc_peek.rs b/src/librustc_mir/transform/rustc_peek.rs index c9a00166f0f9c..06a697e18da56 100644 --- a/src/librustc_mir/transform/rustc_peek.rs +++ b/src/librustc_mir/transform/rustc_peek.rs @@ -4,10 +4,10 @@ use rustc_span::Span; use rustc_target::spec::abi::Abi; use crate::transform::{MirPass, MirSource}; -use rustc::mir::{self, Body, BodyAndCache, Local, Location}; -use rustc::ty::{self, Ty, TyCtxt}; use rustc_hir::def_id::DefId; use rustc_index::bit_set::BitSet; +use rustc_middle::mir::{self, Body, BodyAndCache, Local, Location}; +use rustc_middle::ty::{self, Ty, TyCtxt}; use crate::dataflow::move_paths::{HasMoveData, MoveData}; use crate::dataflow::move_paths::{LookupResult, MovePathIndex}; diff --git a/src/librustc_mir/transform/simplify.rs b/src/librustc_mir/transform/simplify.rs index 55ea1e40e0865..faee077f51e1a 100644 --- a/src/librustc_mir/transform/simplify.rs +++ b/src/librustc_mir/transform/simplify.rs @@ -28,11 +28,11 @@ //! return. use crate::transform::{MirPass, MirSource}; -use rustc::mir::visit::{MutVisitor, MutatingUseContext, PlaceContext, Visitor}; -use rustc::mir::*; -use rustc::ty::{self, TyCtxt}; use rustc_index::bit_set::BitSet; use rustc_index::vec::{Idx, IndexVec}; +use rustc_middle::mir::visit::{MutVisitor, MutatingUseContext, PlaceContext, Visitor}; +use rustc_middle::mir::*; +use rustc_middle::ty::{self, TyCtxt}; use std::borrow::Cow; pub struct SimplifyCfg { diff --git a/src/librustc_mir/transform/simplify_branches.rs b/src/librustc_mir/transform/simplify_branches.rs index c233d0b516e2e..dd666289e391a 100644 --- a/src/librustc_mir/transform/simplify_branches.rs +++ b/src/librustc_mir/transform/simplify_branches.rs @@ -1,8 +1,8 @@ //! A pass that simplifies branches when their condition is known. use crate::transform::{MirPass, MirSource}; -use rustc::mir::*; -use rustc::ty::TyCtxt; +use rustc_middle::mir::*; +use rustc_middle::ty::TyCtxt; use std::borrow::Cow; diff --git a/src/librustc_mir/transform/simplify_try.rs b/src/librustc_mir/transform/simplify_try.rs index 1c5f6762c6874..fecaee44765fc 100644 --- a/src/librustc_mir/transform/simplify_try.rs +++ b/src/librustc_mir/transform/simplify_try.rs @@ -11,8 +11,8 @@ use crate::transform::{simplify, MirPass, MirSource}; use itertools::Itertools as _; -use rustc::mir::*; -use rustc::ty::{Ty, TyCtxt}; +use rustc_middle::mir::*; +use rustc_middle::ty::{Ty, TyCtxt}; use rustc_target::abi::VariantIdx; /// Simplifies arms of form `Variant(x) => Variant(x)` to just a move. diff --git a/src/librustc_mir/transform/uninhabited_enum_branching.rs b/src/librustc_mir/transform/uninhabited_enum_branching.rs index d33f9b6a28627..38a9194e5c55d 100644 --- a/src/librustc_mir/transform/uninhabited_enum_branching.rs +++ b/src/librustc_mir/transform/uninhabited_enum_branching.rs @@ -1,12 +1,12 @@ //! A pass that eliminates branches on uninhabited enum variants. use crate::transform::{MirPass, MirSource}; -use rustc::mir::{ +use rustc_middle::mir::{ BasicBlock, BasicBlockData, Body, BodyAndCache, Local, Operand, Rvalue, StatementKind, TerminatorKind, }; -use rustc::ty::layout::{Abi, TyAndLayout, Variants}; -use rustc::ty::{Ty, TyCtxt}; +use rustc_middle::ty::layout::{Abi, TyAndLayout, Variants}; +use rustc_middle::ty::{Ty, TyCtxt}; pub struct UninhabitedEnumBranching; diff --git a/src/librustc_mir/transform/unreachable_prop.rs b/src/librustc_mir/transform/unreachable_prop.rs index c5c84acb6b237..8f636582673fa 100644 --- a/src/librustc_mir/transform/unreachable_prop.rs +++ b/src/librustc_mir/transform/unreachable_prop.rs @@ -4,9 +4,9 @@ use crate::transform::simplify; use crate::transform::{MirPass, MirSource}; -use rustc::mir::*; -use rustc::ty::TyCtxt; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; +use rustc_middle::mir::*; +use rustc_middle::ty::TyCtxt; use std::borrow::Cow; pub struct UnreachablePropagation; diff --git a/src/librustc_mir/util/aggregate.rs b/src/librustc_mir/util/aggregate.rs index 927c8f6dfb29b..b22dbf40b5019 100644 --- a/src/librustc_mir/util/aggregate.rs +++ b/src/librustc_mir/util/aggregate.rs @@ -1,7 +1,7 @@ -use rustc::mir::*; -use rustc::ty::layout::VariantIdx; -use rustc::ty::{Ty, TyCtxt}; use rustc_index::vec::Idx; +use rustc_middle::mir::*; +use rustc_middle::ty::layout::VariantIdx; +use rustc_middle::ty::{Ty, TyCtxt}; use std::iter::TrustedLen; diff --git a/src/librustc_mir/util/alignment.rs b/src/librustc_mir/util/alignment.rs index d7f2abfbe9943..19c2cfa3a6a4f 100644 --- a/src/librustc_mir/util/alignment.rs +++ b/src/librustc_mir/util/alignment.rs @@ -1,5 +1,5 @@ -use rustc::mir::*; -use rustc::ty::{self, TyCtxt}; +use rustc_middle::mir::*; +use rustc_middle::ty::{self, TyCtxt}; /// Returns `true` if this place is allowed to be less aligned /// than its containing struct (because it is within a packed diff --git a/src/librustc_mir/util/borrowck_errors.rs b/src/librustc_mir/util/borrowck_errors.rs index 6e6bbabd35b3c..808dd833774e4 100644 --- a/src/librustc_mir/util/borrowck_errors.rs +++ b/src/librustc_mir/util/borrowck_errors.rs @@ -1,5 +1,5 @@ -use rustc::ty::{self, Ty, TyCtxt}; use rustc_errors::{struct_span_err, DiagnosticBuilder, DiagnosticId}; +use rustc_middle::ty::{self, Ty, TyCtxt}; use rustc_span::{MultiSpan, Span}; impl<'cx, 'tcx> crate::borrow_check::MirBorrowckCtxt<'cx, 'tcx> { diff --git a/src/librustc_mir/util/collect_writes.rs b/src/librustc_mir/util/collect_writes.rs index fc9dbd73f32e7..ecf3b08a96eed 100644 --- a/src/librustc_mir/util/collect_writes.rs +++ b/src/librustc_mir/util/collect_writes.rs @@ -1,6 +1,6 @@ -use rustc::mir::visit::PlaceContext; -use rustc::mir::visit::Visitor; -use rustc::mir::{Body, Local, Location}; +use rustc_middle::mir::visit::PlaceContext; +use rustc_middle::mir::visit::Visitor; +use rustc_middle::mir::{Body, Local, Location}; crate trait FindAssignments { // Finds all statements that assign directly to local (i.e., X = ...) diff --git a/src/librustc_mir/util/def_use.rs b/src/librustc_mir/util/def_use.rs index 059cea86a4dfe..6b5f6aa991c1e 100644 --- a/src/librustc_mir/util/def_use.rs +++ b/src/librustc_mir/util/def_use.rs @@ -1,11 +1,11 @@ //! Def-use analysis. -use rustc::mir::visit::{MutVisitor, PlaceContext, Visitor}; -use rustc::mir::{ +use rustc_index::vec::IndexVec; +use rustc_middle::mir::visit::{MutVisitor, PlaceContext, Visitor}; +use rustc_middle::mir::{ Body, BodyAndCache, Local, Location, PlaceElem, ReadOnlyBodyAndCache, VarDebugInfo, }; -use rustc::ty::TyCtxt; -use rustc_index::vec::IndexVec; +use rustc_middle::ty::TyCtxt; use std::mem; pub struct DefUseAnalysis { diff --git a/src/librustc_mir/util/elaborate_drops.rs b/src/librustc_mir/util/elaborate_drops.rs index 14895ddfbe44f..7063ed1edc822 100644 --- a/src/librustc_mir/util/elaborate_drops.rs +++ b/src/librustc_mir/util/elaborate_drops.rs @@ -1,13 +1,13 @@ use crate::util::patch::MirPatch; -use rustc::middle::lang_items; -use rustc::mir::*; -use rustc::traits::Reveal; -use rustc::ty::layout::VariantIdx; -use rustc::ty::subst::SubstsRef; -use rustc::ty::util::IntTypeExt; -use rustc::ty::{self, Ty, TyCtxt}; use rustc_hir as hir; use rustc_index::vec::Idx; +use rustc_middle::middle::lang_items; +use rustc_middle::mir::*; +use rustc_middle::traits::Reveal; +use rustc_middle::ty::layout::VariantIdx; +use rustc_middle::ty::subst::SubstsRef; +use rustc_middle::ty::util::IntTypeExt; +use rustc_middle::ty::{self, Ty, TyCtxt}; use std::fmt; use std::convert::TryInto; diff --git a/src/librustc_mir/util/graphviz.rs b/src/librustc_mir/util/graphviz.rs index 8291bc958808d..aed29a076a426 100644 --- a/src/librustc_mir/util/graphviz.rs +++ b/src/librustc_mir/util/graphviz.rs @@ -1,7 +1,7 @@ -use rustc::mir::*; -use rustc::ty::TyCtxt; use rustc_hir::def_id::DefId; use rustc_index::vec::Idx; +use rustc_middle::mir::*; +use rustc_middle::ty::TyCtxt; use std::fmt::Debug; use std::io::{self, Write}; diff --git a/src/librustc_mir/util/liveness.rs b/src/librustc_mir/util/liveness.rs index f6c6f55549593..2c6149b9deb47 100644 --- a/src/librustc_mir/util/liveness.rs +++ b/src/librustc_mir/util/liveness.rs @@ -26,15 +26,15 @@ use crate::transform::MirSource; use crate::util::pretty::{dump_enabled, write_basic_block, write_mir_intro}; -use rustc::mir::visit::{ - MutatingUseContext, NonMutatingUseContext, NonUseContext, PlaceContext, Visitor, -}; -use rustc::mir::Local; -use rustc::mir::*; -use rustc::ty::{self, TyCtxt}; use rustc_data_structures::work_queue::WorkQueue; use rustc_index::bit_set::BitSet; use rustc_index::vec::{Idx, IndexVec}; +use rustc_middle::mir::visit::{ + MutatingUseContext, NonMutatingUseContext, NonUseContext, PlaceContext, Visitor, +}; +use rustc_middle::mir::Local; +use rustc_middle::mir::*; +use rustc_middle::ty::{self, TyCtxt}; use std::fs; use std::io::{self, BufWriter, Write}; use std::path::{Path, PathBuf}; diff --git a/src/librustc_mir/util/patch.rs b/src/librustc_mir/util/patch.rs index 473692a43f3e9..46f42f4db05fd 100644 --- a/src/librustc_mir/util/patch.rs +++ b/src/librustc_mir/util/patch.rs @@ -1,6 +1,6 @@ -use rustc::mir::*; -use rustc::ty::Ty; use rustc_index::vec::{Idx, IndexVec}; +use rustc_middle::mir::*; +use rustc_middle::ty::Ty; use rustc_span::Span; /// This struct represents a patch to MIR, which can add diff --git a/src/librustc_mir/util/pretty.rs b/src/librustc_mir/util/pretty.rs index 0368a73832d75..26e6073bd5667 100644 --- a/src/librustc_mir/util/pretty.rs +++ b/src/librustc_mir/util/pretty.rs @@ -1,13 +1,15 @@ use super::graphviz::write_mir_fn_graphviz; use crate::transform::MirSource; use either::Either; -use rustc::mir::interpret::{read_target_uint, AllocId, Allocation, ConstValue, GlobalAlloc}; -use rustc::mir::visit::Visitor; -use rustc::mir::*; -use rustc::ty::{self, layout::Size, TyCtxt, TypeFoldable, TypeVisitor}; use rustc_data_structures::fx::FxHashMap; use rustc_hir::def_id::{DefId, LOCAL_CRATE}; use rustc_index::vec::Idx; +use rustc_middle::mir::interpret::{ + read_target_uint, AllocId, Allocation, ConstValue, GlobalAlloc, +}; +use rustc_middle::mir::visit::Visitor; +use rustc_middle::mir::*; +use rustc_middle::ty::{self, layout::Size, TyCtxt, TypeFoldable, TypeVisitor}; use std::collections::BTreeSet; use std::fmt::Display; use std::fmt::Write as _; diff --git a/src/librustc_mir_build/Cargo.toml b/src/librustc_mir_build/Cargo.toml index 96716dbd604d5..143a3852d7313 100644 --- a/src/librustc_mir_build/Cargo.toml +++ b/src/librustc_mir_build/Cargo.toml @@ -12,7 +12,7 @@ doctest = false [dependencies] arena = { path = "../libarena" } log = "0.4" -rustc = { path = "../librustc" } +rustc_middle = { path = "../librustc_middle" } rustc_apfloat = { path = "../librustc_apfloat" } rustc_attr = { path = "../librustc_attr" } rustc_data_structures = { path = "../librustc_data_structures" } diff --git a/src/librustc_mir_build/build/block.rs b/src/librustc_mir_build/build/block.rs index df5526ad76281..826b3bdcfe5e3 100644 --- a/src/librustc_mir_build/build/block.rs +++ b/src/librustc_mir_build/build/block.rs @@ -2,7 +2,7 @@ use crate::build::matches::ArmHasGuard; use crate::build::ForGuard::OutsideGuard; use crate::build::{BlockAnd, BlockAndExtension, BlockFrame, Builder}; use crate::hair::*; -use rustc::mir::*; +use rustc_middle::mir::*; use rustc_hir as hir; use rustc_span::Span; diff --git a/src/librustc_mir_build/build/cfg.rs b/src/librustc_mir_build/build/cfg.rs index 883aba18ec547..f1cb514feaaa3 100644 --- a/src/librustc_mir_build/build/cfg.rs +++ b/src/librustc_mir_build/build/cfg.rs @@ -1,7 +1,7 @@ //! Routines for manipulating the control-flow graph. use crate::build::CFG; -use rustc::mir::*; +use rustc_middle::mir::*; impl<'tcx> CFG<'tcx> { crate fn block_data(&self, blk: BasicBlock) -> &BasicBlockData<'tcx> { diff --git a/src/librustc_mir_build/build/expr/as_constant.rs b/src/librustc_mir_build/build/expr/as_constant.rs index e4856262975e7..03ec0b48f8bfe 100644 --- a/src/librustc_mir_build/build/expr/as_constant.rs +++ b/src/librustc_mir_build/build/expr/as_constant.rs @@ -2,8 +2,8 @@ use crate::build::Builder; use crate::hair::*; -use rustc::mir::*; -use rustc::ty::CanonicalUserTypeAnnotation; +use rustc_middle::mir::*; +use rustc_middle::ty::CanonicalUserTypeAnnotation; impl<'a, 'tcx> Builder<'a, 'tcx> { /// Compile `expr`, yielding a compile-time constant. Assumes that diff --git a/src/librustc_mir_build/build/expr/as_operand.rs b/src/librustc_mir_build/build/expr/as_operand.rs index efe328d2b3c1e..783637fa45831 100644 --- a/src/librustc_mir_build/build/expr/as_operand.rs +++ b/src/librustc_mir_build/build/expr/as_operand.rs @@ -3,8 +3,8 @@ use crate::build::expr::category::Category; use crate::build::{BlockAnd, BlockAndExtension, Builder}; use crate::hair::*; -use rustc::middle::region; -use rustc::mir::*; +use rustc_middle::middle::region; +use rustc_middle::mir::*; impl<'a, 'tcx> Builder<'a, 'tcx> { /// Returns an operand suitable for use until the end of the current diff --git a/src/librustc_mir_build/build/expr/as_place.rs b/src/librustc_mir_build/build/expr/as_place.rs index 8fa7bc7699030..90931a14894e6 100644 --- a/src/librustc_mir_build/build/expr/as_place.rs +++ b/src/librustc_mir_build/build/expr/as_place.rs @@ -4,10 +4,10 @@ use crate::build::expr::category::Category; use crate::build::ForGuard::{OutsideGuard, RefWithinGuard}; use crate::build::{BlockAnd, BlockAndExtension, Builder}; use crate::hair::*; -use rustc::middle::region; -use rustc::mir::AssertKind::BoundsCheck; -use rustc::mir::*; -use rustc::ty::{self, CanonicalUserTypeAnnotation, Ty, TyCtxt, Variance}; +use rustc_middle::middle::region; +use rustc_middle::mir::AssertKind::BoundsCheck; +use rustc_middle::mir::*; +use rustc_middle::ty::{self, CanonicalUserTypeAnnotation, Ty, TyCtxt, Variance}; use rustc_span::Span; use rustc_index::vec::Idx; diff --git a/src/librustc_mir_build/build/expr/as_rvalue.rs b/src/librustc_mir_build/build/expr/as_rvalue.rs index 4c7ff504722c5..96d6ca1ecabb1 100644 --- a/src/librustc_mir_build/build/expr/as_rvalue.rs +++ b/src/librustc_mir_build/build/expr/as_rvalue.rs @@ -5,10 +5,10 @@ use rustc_index::vec::Idx; use crate::build::expr::category::{Category, RvalueFunc}; use crate::build::{BlockAnd, BlockAndExtension, Builder}; use crate::hair::*; -use rustc::middle::region; -use rustc::mir::AssertKind; -use rustc::mir::*; -use rustc::ty::{self, Ty, UpvarSubsts}; +use rustc_middle::middle::region; +use rustc_middle::mir::AssertKind; +use rustc_middle::mir::*; +use rustc_middle::ty::{self, Ty, UpvarSubsts}; use rustc_span::Span; impl<'a, 'tcx> Builder<'a, 'tcx> { diff --git a/src/librustc_mir_build/build/expr/as_temp.rs b/src/librustc_mir_build/build/expr/as_temp.rs index 82183e6c96e9f..ef692079e0c44 100644 --- a/src/librustc_mir_build/build/expr/as_temp.rs +++ b/src/librustc_mir_build/build/expr/as_temp.rs @@ -3,8 +3,8 @@ use crate::build::scope::DropKind; use crate::build::{BlockAnd, BlockAndExtension, Builder}; use crate::hair::*; -use rustc::middle::region; -use rustc::mir::*; +use rustc_middle::middle::region; +use rustc_middle::mir::*; use rustc_hir as hir; use rustc_span::symbol::sym; diff --git a/src/librustc_mir_build/build/expr/into.rs b/src/librustc_mir_build/build/expr/into.rs index 62158d3b93124..c61526024d076 100644 --- a/src/librustc_mir_build/build/expr/into.rs +++ b/src/librustc_mir_build/build/expr/into.rs @@ -3,8 +3,8 @@ use crate::build::expr::category::{Category, RvalueFunc}; use crate::build::{BlockAnd, BlockAndExtension, BlockFrame, Builder}; use crate::hair::*; -use rustc::mir::*; -use rustc::ty::{self, CanonicalUserTypeAnnotation}; +use rustc_middle::mir::*; +use rustc_middle::ty::{self, CanonicalUserTypeAnnotation}; use rustc_data_structures::fx::FxHashMap; use rustc_hir as hir; use rustc_span::symbol::sym; diff --git a/src/librustc_mir_build/build/expr/stmt.rs b/src/librustc_mir_build/build/expr/stmt.rs index 1dc530a7bc886..8bfd2ce36bb51 100644 --- a/src/librustc_mir_build/build/expr/stmt.rs +++ b/src/librustc_mir_build/build/expr/stmt.rs @@ -1,8 +1,8 @@ use crate::build::scope::BreakableTarget; use crate::build::{BlockAnd, BlockAndExtension, BlockFrame, Builder}; use crate::hair::*; -use rustc::middle::region; -use rustc::mir::*; +use rustc_middle::middle::region; +use rustc_middle::mir::*; impl<'a, 'tcx> Builder<'a, 'tcx> { /// Builds a block of MIR statements to evaluate the HAIR `expr`. diff --git a/src/librustc_mir_build/build/into.rs b/src/librustc_mir_build/build/into.rs index 1a2a9d2bc05fc..1c0981597d326 100644 --- a/src/librustc_mir_build/build/into.rs +++ b/src/librustc_mir_build/build/into.rs @@ -6,7 +6,7 @@ use crate::build::{BlockAnd, Builder}; use crate::hair::*; -use rustc::mir::*; +use rustc_middle::mir::*; pub(in crate::build) trait EvalInto<'tcx> { fn eval_into( diff --git a/src/librustc_mir_build/build/matches/mod.rs b/src/librustc_mir_build/build/matches/mod.rs index e7c7e2b47f28f..d205ce254d3b2 100644 --- a/src/librustc_mir_build/build/matches/mod.rs +++ b/src/librustc_mir_build/build/matches/mod.rs @@ -10,10 +10,10 @@ use crate::build::ForGuard::{self, OutsideGuard, RefWithinGuard}; use crate::build::{BlockAnd, BlockAndExtension, Builder}; use crate::build::{GuardFrame, GuardFrameLocal, LocalsForNode}; use crate::hair::{self, *}; -use rustc::middle::region; -use rustc::mir::*; -use rustc::ty::layout::VariantIdx; -use rustc::ty::{self, CanonicalUserTypeAnnotation, Ty}; +use rustc_middle::middle::region; +use rustc_middle::mir::*; +use rustc_middle::ty::layout::VariantIdx; +use rustc_middle::ty::{self, CanonicalUserTypeAnnotation, Ty}; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_hir::HirId; use rustc_index::bit_set::BitSet; diff --git a/src/librustc_mir_build/build/matches/simplify.rs b/src/librustc_mir_build/build/matches/simplify.rs index aea4f5f1b3ac9..664f56ae5e456 100644 --- a/src/librustc_mir_build/build/matches/simplify.rs +++ b/src/librustc_mir_build/build/matches/simplify.rs @@ -15,10 +15,10 @@ use crate::build::matches::{Ascription, Binding, Candidate, MatchPair}; use crate::build::Builder; use crate::hair::{self, *}; -use rustc::mir::interpret::truncate; -use rustc::mir::Place; -use rustc::ty; -use rustc::ty::layout::{Integer, IntegerExt, Size}; +use rustc_middle::mir::interpret::truncate; +use rustc_middle::mir::Place; +use rustc_middle::ty; +use rustc_middle::ty::layout::{Integer, IntegerExt, Size}; use rustc_attr::{SignedInt, UnsignedInt}; use rustc_hir::RangeEnd; diff --git a/src/librustc_mir_build/build/matches/test.rs b/src/librustc_mir_build/build/matches/test.rs index d23a2708dc478..01b3cfb7ba05b 100644 --- a/src/librustc_mir_build/build/matches/test.rs +++ b/src/librustc_mir_build/build/matches/test.rs @@ -9,10 +9,10 @@ use crate::build::matches::{Candidate, MatchPair, Test, TestKind}; use crate::build::Builder; use crate::hair::pattern::compare_const_vals; use crate::hair::*; -use rustc::mir::*; -use rustc::ty::layout::VariantIdx; -use rustc::ty::util::IntTypeExt; -use rustc::ty::{self, adjustment::PointerCast, Ty}; +use rustc_middle::mir::*; +use rustc_middle::ty::layout::VariantIdx; +use rustc_middle::ty::util::IntTypeExt; +use rustc_middle::ty::{self, adjustment::PointerCast, Ty}; use rustc_data_structures::fx::FxHashMap; use rustc_hir::RangeEnd; use rustc_index::bit_set::BitSet; @@ -362,7 +362,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> { place: Place<'tcx>, mut ty: Ty<'tcx>, ) { - use rustc::middle::lang_items::EqTraitLangItem; + use rustc_middle::middle::lang_items::EqTraitLangItem; let mut expect = self.literal_operand(source_info.span, value); let mut val = Operand::Copy(place); diff --git a/src/librustc_mir_build/build/matches/util.rs b/src/librustc_mir_build/build/matches/util.rs index def8d1b2fd8ba..967a44b9b96e4 100644 --- a/src/librustc_mir_build/build/matches/util.rs +++ b/src/librustc_mir_build/build/matches/util.rs @@ -1,8 +1,8 @@ use crate::build::matches::MatchPair; use crate::build::Builder; use crate::hair::*; -use rustc::mir::*; -use rustc::ty; +use rustc_middle::mir::*; +use rustc_middle::ty; use smallvec::SmallVec; use std::convert::TryInto; use std::u32; diff --git a/src/librustc_mir_build/build/misc.rs b/src/librustc_mir_build/build/misc.rs index 3d5145b6960f5..06371d71b9d58 100644 --- a/src/librustc_mir_build/build/misc.rs +++ b/src/librustc_mir_build/build/misc.rs @@ -3,9 +3,9 @@ use crate::build::Builder; -use rustc::ty::{self, Ty}; +use rustc_middle::ty::{self, Ty}; -use rustc::mir::*; +use rustc_middle::mir::*; use rustc_span::{Span, DUMMY_SP}; impl<'a, 'tcx> Builder<'a, 'tcx> { diff --git a/src/librustc_mir_build/build/mod.rs b/src/librustc_mir_build/build/mod.rs index a7ec4f501ae76..c4eb9803b425f 100644 --- a/src/librustc_mir_build/build/mod.rs +++ b/src/librustc_mir_build/build/mod.rs @@ -2,11 +2,11 @@ use crate::build; use crate::build::scope::DropKind; use crate::hair::cx::Cx; use crate::hair::{BindingMode, LintLevel, PatKind}; -use rustc::middle::lang_items; -use rustc::middle::region; -use rustc::mir::*; -use rustc::ty::subst::Subst; -use rustc::ty::{self, Ty, TyCtxt, TypeFoldable}; +use rustc_middle::middle::lang_items; +use rustc_middle::middle::region; +use rustc_middle::mir::*; +use rustc_middle::ty::subst::Subst; +use rustc_middle::ty::{self, Ty, TyCtxt, TypeFoldable}; use rustc_attr::{self as attr, UnwindAttr}; use rustc_hir as hir; use rustc_hir::def_id::DefId; diff --git a/src/librustc_mir_build/build/scope.rs b/src/librustc_mir_build/build/scope.rs index a63ac06ec3fe9..be34c84f124ac 100644 --- a/src/librustc_mir_build/build/scope.rs +++ b/src/librustc_mir_build/build/scope.rs @@ -84,8 +84,8 @@ should go to. use crate::build::{BlockAnd, BlockAndExtension, BlockFrame, Builder, CFG}; use crate::hair::{Expr, ExprRef, LintLevel}; -use rustc::middle::region; -use rustc::mir::*; +use rustc_middle::middle::region; +use rustc_middle::mir::*; use rustc_data_structures::fx::FxHashMap; use rustc_hir as hir; use rustc_hir::GeneratorKind; diff --git a/src/librustc_mir_build/hair/constant.rs b/src/librustc_mir_build/hair/constant.rs index d5e5398b9d41e..667f29337c2b6 100644 --- a/src/librustc_mir_build/hair/constant.rs +++ b/src/librustc_mir_build/hair/constant.rs @@ -1,8 +1,8 @@ -use rustc::mir::interpret::{ +use rustc_ast::ast; +use rustc_middle::mir::interpret::{ truncate, Allocation, ConstValue, LitToConstError, LitToConstInput, Scalar, }; -use rustc::ty::{self, layout::Size, ParamEnv, TyCtxt, TyS}; -use rustc_ast::ast; +use rustc_middle::ty::{self, layout::Size, ParamEnv, TyCtxt, TyS}; use rustc_span::symbol::Symbol; crate fn lit_to_const<'tcx>( diff --git a/src/librustc_mir_build/hair/cx/block.rs b/src/librustc_mir_build/hair/cx/block.rs index 07a9d91cd746d..c7b53024666d9 100644 --- a/src/librustc_mir_build/hair/cx/block.rs +++ b/src/librustc_mir_build/hair/cx/block.rs @@ -2,9 +2,9 @@ use crate::hair::cx::to_ref::ToRef; use crate::hair::cx::Cx; use crate::hair::{self, *}; -use rustc::middle::region; -use rustc::ty; use rustc_hir as hir; +use rustc_middle::middle::region; +use rustc_middle::ty; use rustc_index::vec::Idx; diff --git a/src/librustc_mir_build/hair/cx/expr.rs b/src/librustc_mir_build/hair/cx/expr.rs index ba17e2a75aaf3..21d632b9f6b83 100644 --- a/src/librustc_mir_build/hair/cx/expr.rs +++ b/src/librustc_mir_build/hair/cx/expr.rs @@ -3,14 +3,16 @@ use crate::hair::cx::to_ref::ToRef; use crate::hair::cx::Cx; use crate::hair::util::UserAnnotatedTyHelpers; use crate::hair::*; -use rustc::mir::interpret::Scalar; -use rustc::mir::BorrowKind; -use rustc::ty::adjustment::{Adjust, Adjustment, AutoBorrow, AutoBorrowMutability, PointerCast}; -use rustc::ty::subst::{InternalSubsts, SubstsRef}; -use rustc::ty::{self, AdtKind, Ty}; use rustc_hir as hir; use rustc_hir::def::{CtorKind, CtorOf, DefKind, Res}; use rustc_index::vec::Idx; +use rustc_middle::mir::interpret::Scalar; +use rustc_middle::mir::BorrowKind; +use rustc_middle::ty::adjustment::{ + Adjust, Adjustment, AutoBorrow, AutoBorrowMutability, PointerCast, +}; +use rustc_middle::ty::subst::{InternalSubsts, SubstsRef}; +use rustc_middle::ty::{self, AdtKind, Ty}; use rustc_span::Span; impl<'tcx> Mirror<'tcx> for &'tcx hir::Expr<'tcx> { @@ -478,7 +480,7 @@ fn make_mirror_unadjusted<'a, 'tcx>( ) => { let idx = adt_def.variant_index_with_ctor_id(variant_ctor_id); let (d, o) = adt_def.discriminant_def_for_variant(idx); - use rustc::ty::util::IntTypeExt; + use rustc_middle::ty::util::IntTypeExt; let ty = adt_def.repr.discr_type(); let ty = ty.to_ty(cx.tcx()); Some((d, o, ty)) @@ -631,7 +633,7 @@ trait ToBorrowKind { impl ToBorrowKind for AutoBorrowMutability { fn to_borrow_kind(&self) -> BorrowKind { - use rustc::ty::adjustment::AllowTwoPhase; + use rustc_middle::ty::adjustment::AllowTwoPhase; match *self { AutoBorrowMutability::Mut { allow_two_phase_borrow } => BorrowKind::Mut { allow_two_phase_borrow: match allow_two_phase_borrow { diff --git a/src/librustc_mir_build/hair/cx/mod.rs b/src/librustc_mir_build/hair/cx/mod.rs index 99caa6a0f95b4..13a476775db02 100644 --- a/src/librustc_mir_build/hair/cx/mod.rs +++ b/src/librustc_mir_build/hair/cx/mod.rs @@ -5,12 +5,6 @@ use crate::hair::util::UserAnnotatedTyHelpers; use crate::hair::*; -use rustc::middle::region; -use rustc::mir::interpret::{LitToConstError, LitToConstInput}; -use rustc::ty::layout::VariantIdx; -use rustc::ty::subst::Subst; -use rustc::ty::subst::{GenericArg, InternalSubsts}; -use rustc::ty::{self, Ty, TyCtxt}; use rustc_ast::ast; use rustc_ast::attr; use rustc_hir as hir; @@ -18,6 +12,12 @@ use rustc_hir::def_id::DefId; use rustc_hir::Node; use rustc_index::vec::Idx; use rustc_infer::infer::InferCtxt; +use rustc_middle::middle::region; +use rustc_middle::mir::interpret::{LitToConstError, LitToConstInput}; +use rustc_middle::ty::layout::VariantIdx; +use rustc_middle::ty::subst::Subst; +use rustc_middle::ty::subst::{GenericArg, InternalSubsts}; +use rustc_middle::ty::{self, Ty, TyCtxt}; use rustc_span::symbol::{sym, Symbol}; use rustc_trait_selection::infer::InferCtxtExt; diff --git a/src/librustc_mir_build/hair/mod.rs b/src/librustc_mir_build/hair/mod.rs index ed60c79903d6a..fadfc7660d4f9 100644 --- a/src/librustc_mir_build/hair/mod.rs +++ b/src/librustc_mir_build/hair/mod.rs @@ -5,15 +5,15 @@ //! structures. use self::cx::Cx; -use rustc::infer::canonical::Canonical; -use rustc::middle::region; -use rustc::mir::{BinOp, BorrowKind, Field, UnOp}; -use rustc::ty::adjustment::PointerCast; -use rustc::ty::layout::VariantIdx; -use rustc::ty::subst::SubstsRef; -use rustc::ty::{AdtDef, Const, Ty, UpvarSubsts, UserType}; use rustc_hir as hir; use rustc_hir::def_id::DefId; +use rustc_middle::infer::canonical::Canonical; +use rustc_middle::middle::region; +use rustc_middle::mir::{BinOp, BorrowKind, Field, UnOp}; +use rustc_middle::ty::adjustment::PointerCast; +use rustc_middle::ty::layout::VariantIdx; +use rustc_middle::ty::subst::SubstsRef; +use rustc_middle::ty::{AdtDef, Const, Ty, UpvarSubsts, UserType}; use rustc_span::Span; crate mod constant; diff --git a/src/librustc_mir_build/hair/pattern/_match.rs b/src/librustc_mir_build/hair/pattern/_match.rs index 5c69cea8b9169..9b40a8e6bfbc8 100644 --- a/src/librustc_mir_build/hair/pattern/_match.rs +++ b/src/librustc_mir_build/hair/pattern/_match.rs @@ -235,14 +235,14 @@ use rustc_index::vec::Idx; use super::{compare_const_vals, PatternFoldable, PatternFolder}; use super::{FieldPat, Pat, PatKind, PatRange}; -use rustc::mir::interpret::{truncate, AllocId, ConstValue, Pointer, Scalar}; -use rustc::mir::Field; -use rustc::ty::layout::{Integer, IntegerExt, Size, VariantIdx}; -use rustc::ty::{self, Const, Ty, TyCtxt, TypeFoldable, VariantDef}; -use rustc::util::common::ErrorReported; use rustc_attr::{SignedInt, UnsignedInt}; use rustc_hir::def_id::DefId; use rustc_hir::{HirId, RangeEnd}; +use rustc_middle::mir::interpret::{truncate, AllocId, ConstValue, Pointer, Scalar}; +use rustc_middle::mir::Field; +use rustc_middle::ty::layout::{Integer, IntegerExt, Size, VariantIdx}; +use rustc_middle::ty::{self, Const, Ty, TyCtxt, TypeFoldable, VariantDef}; +use rustc_middle::util::common::ErrorReported; use rustc_session::lint; use rustc_span::{Span, DUMMY_SP}; diff --git a/src/librustc_mir_build/hair/pattern/check_match.rs b/src/librustc_mir_build/hair/pattern/check_match.rs index e29bbf8fa6eb1..cdbcaea0befe8 100644 --- a/src/librustc_mir_build/hair/pattern/check_match.rs +++ b/src/librustc_mir_build/hair/pattern/check_match.rs @@ -4,7 +4,6 @@ use super::_match::{expand_pattern, is_useful, MatchCheckCtxt, Matrix, PatStack} use super::{PatCtxt, PatKind, PatternError}; -use rustc::ty::{self, Ty, TyCtxt}; use rustc_ast::ast::Mutability; use rustc_errors::{error_code, struct_span_err, Applicability, DiagnosticBuilder}; use rustc_hir as hir; @@ -12,6 +11,7 @@ use rustc_hir::def::*; use rustc_hir::def_id::DefId; use rustc_hir::intravisit::{self, NestedVisitorMap, Visitor}; use rustc_hir::{HirId, Pat}; +use rustc_middle::ty::{self, Ty, TyCtxt}; use rustc_session::lint::builtin::BINDINGS_WITH_VARIANT_NAME; use rustc_session::lint::builtin::{IRREFUTABLE_LET_PATTERNS, UNREACHABLE_PATTERNS}; use rustc_session::parse::feature_err; @@ -91,14 +91,14 @@ impl PatCtxt<'_, '_> { } PatternError::FloatBug => { // FIXME(#31407) this is only necessary because float parsing is buggy - ::rustc::mir::interpret::struct_error( + ::rustc_middle::mir::interpret::struct_error( self.tcx.at(pat_span), "could not evaluate float literal (see issue #31407)", ) .emit(); } PatternError::NonConstPath(span) => { - ::rustc::mir::interpret::struct_error( + ::rustc_middle::mir::interpret::struct_error( self.tcx.at(span), "runtime values cannot be referenced in patterns", ) diff --git a/src/librustc_mir_build/hair/pattern/const_to_pat.rs b/src/librustc_mir_build/hair/pattern/const_to_pat.rs index ae951e810e32e..50034fb02ace9 100644 --- a/src/librustc_mir_build/hair/pattern/const_to_pat.rs +++ b/src/librustc_mir_build/hair/pattern/const_to_pat.rs @@ -1,8 +1,8 @@ -use rustc::mir::Field; -use rustc::ty::{self, Ty, TyCtxt}; use rustc_hir as hir; use rustc_index::vec::Idx; use rustc_infer::infer::{InferCtxt, TyCtxtInferExt}; +use rustc_middle::mir::Field; +use rustc_middle::ty::{self, Ty, TyCtxt}; use rustc_session::lint; use rustc_span::Span; use rustc_trait_selection::traits::predicate_for_trait_def; diff --git a/src/librustc_mir_build/hair/pattern/mod.rs b/src/librustc_mir_build/hair/pattern/mod.rs index 6786c35629308..d40d3922f18c4 100644 --- a/src/librustc_mir_build/hair/pattern/mod.rs +++ b/src/librustc_mir_build/hair/pattern/mod.rs @@ -8,14 +8,6 @@ pub(crate) use self::check_match::check_match; use crate::hair::util::UserAnnotatedTyHelpers; -use rustc::mir::interpret::{get_slice_bytes, sign_extend, ConstValue, ErrorHandled}; -use rustc::mir::interpret::{LitToConstError, LitToConstInput}; -use rustc::mir::UserTypeProjection; -use rustc::mir::{BorrowKind, Field, Mutability}; -use rustc::ty::layout::VariantIdx; -use rustc::ty::subst::{GenericArg, SubstsRef}; -use rustc::ty::{self, AdtDef, DefIdTree, Region, Ty, TyCtxt, UserType}; -use rustc::ty::{CanonicalUserType, CanonicalUserTypeAnnotation, CanonicalUserTypeAnnotations}; use rustc_ast::ast; use rustc_errors::struct_span_err; use rustc_hir as hir; @@ -23,6 +15,16 @@ use rustc_hir::def::{CtorKind, CtorOf, DefKind, Res}; use rustc_hir::pat_util::EnumerateAndAdjustIterator; use rustc_hir::RangeEnd; use rustc_index::vec::Idx; +use rustc_middle::mir::interpret::{get_slice_bytes, sign_extend, ConstValue, ErrorHandled}; +use rustc_middle::mir::interpret::{LitToConstError, LitToConstInput}; +use rustc_middle::mir::UserTypeProjection; +use rustc_middle::mir::{BorrowKind, Field, Mutability}; +use rustc_middle::ty::layout::VariantIdx; +use rustc_middle::ty::subst::{GenericArg, SubstsRef}; +use rustc_middle::ty::{self, AdtDef, DefIdTree, Region, Ty, TyCtxt, UserType}; +use rustc_middle::ty::{ + CanonicalUserType, CanonicalUserTypeAnnotation, CanonicalUserTypeAnnotations, +}; use rustc_span::{Span, DUMMY_SP}; use std::cmp::Ordering; @@ -1044,8 +1046,8 @@ crate fn compare_const_vals<'tcx>( l.partial_cmp(&r) } ty::Int(ity) => { - use rustc::ty::layout::{Integer, IntegerExt}; use rustc_attr::SignedInt; + use rustc_middle::ty::layout::{Integer, IntegerExt}; let size = Integer::from_attr(&tcx, SignedInt(ity)).size(); let a = sign_extend(a, size); let b = sign_extend(b, size); diff --git a/src/librustc_mir_build/hair/util.rs b/src/librustc_mir_build/hair/util.rs index c27844ed0d032..0ea0d5d1b0c19 100644 --- a/src/librustc_mir_build/hair/util.rs +++ b/src/librustc_mir_build/hair/util.rs @@ -1,5 +1,5 @@ -use rustc::ty::{self, CanonicalUserType, TyCtxt, UserType}; use rustc_hir as hir; +use rustc_middle::ty::{self, CanonicalUserType, TyCtxt, UserType}; crate trait UserAnnotatedTyHelpers<'tcx> { fn tcx(&self) -> TyCtxt<'tcx>; diff --git a/src/librustc_mir_build/lib.rs b/src/librustc_mir_build/lib.rs index 5a8b5a329634d..d691071e0e4ef 100644 --- a/src/librustc_mir_build/lib.rs +++ b/src/librustc_mir_build/lib.rs @@ -14,13 +14,13 @@ #[macro_use] extern crate log; #[macro_use] -extern crate rustc; +extern crate rustc_middle; mod build; mod hair; mod lints; -use rustc::ty::query::Providers; +use rustc_middle::ty::query::Providers; pub fn provide(providers: &mut Providers<'_>) { providers.check_match = hair::pattern::check_match; diff --git a/src/librustc_mir_build/lints.rs b/src/librustc_mir_build/lints.rs index 3f92742261636..b1628ec58c3c6 100644 --- a/src/librustc_mir_build/lints.rs +++ b/src/librustc_mir_build/lints.rs @@ -1,10 +1,10 @@ -use rustc::hir::map::blocks::FnLikeNode; -use rustc::mir::{self, Body, TerminatorKind}; -use rustc::ty::subst::InternalSubsts; -use rustc::ty::{self, AssocItem, AssocItemContainer, Instance, TyCtxt}; use rustc_hir::def_id::DefId; use rustc_hir::intravisit::FnKind; use rustc_index::bit_set::BitSet; +use rustc_middle::hir::map::blocks::FnLikeNode; +use rustc_middle::mir::{self, Body, TerminatorKind}; +use rustc_middle::ty::subst::InternalSubsts; +use rustc_middle::ty::{self, AssocItem, AssocItemContainer, Instance, TyCtxt}; use rustc_session::lint::builtin::UNCONDITIONAL_RECURSION; crate fn check<'tcx>(tcx: TyCtxt<'tcx>, body: &Body<'tcx>, def_id: DefId) { diff --git a/src/librustc_passes/Cargo.toml b/src/librustc_passes/Cargo.toml index 8acb88f58d379..0ffc8170b504c 100644 --- a/src/librustc_passes/Cargo.toml +++ b/src/librustc_passes/Cargo.toml @@ -10,7 +10,7 @@ path = "lib.rs" [dependencies] log = "0.4" -rustc = { path = "../librustc" } +rustc_middle = { path = "../librustc_middle" } rustc_attr = { path = "../librustc_attr" } rustc_data_structures = { path = "../librustc_data_structures" } rustc_errors = { path = "../librustc_errors" } diff --git a/src/librustc_passes/check_attr.rs b/src/librustc_passes/check_attr.rs index 583e1fdc1f05f..619a8c6f229b3 100644 --- a/src/librustc_passes/check_attr.rs +++ b/src/librustc_passes/check_attr.rs @@ -4,9 +4,9 @@ //! conflicts between multiple such attributes attached to the same //! item. -use rustc::hir::map::Map; -use rustc::ty::query::Providers; -use rustc::ty::TyCtxt; +use rustc_middle::hir::map::Map; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::TyCtxt; use rustc_ast::ast::{Attribute, NestedMetaItem}; use rustc_ast::attr; diff --git a/src/librustc_passes/check_const.rs b/src/librustc_passes/check_const.rs index 30737360b9c20..f68213cc9c230 100644 --- a/src/librustc_passes/check_const.rs +++ b/src/librustc_passes/check_const.rs @@ -7,14 +7,14 @@ //! errors. We still look for those primitives in the MIR const-checker to ensure nothing slips //! through, but errors for structured control flow in a `const` should be emitted here. -use rustc::hir::map::Map; -use rustc::ty::query::Providers; -use rustc::ty::TyCtxt; use rustc_ast::ast::Mutability; use rustc_errors::struct_span_err; use rustc_hir as hir; use rustc_hir::def_id::DefId; use rustc_hir::intravisit::{self, NestedVisitorMap, Visitor}; +use rustc_middle::hir::map::Map; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::TyCtxt; use rustc_session::config::nightly_options; use rustc_session::parse::feature_err; use rustc_span::{sym, Span, Symbol}; diff --git a/src/librustc_passes/dead.rs b/src/librustc_passes/dead.rs index 2781c5c125d9f..44f73c184000e 100644 --- a/src/librustc_passes/dead.rs +++ b/src/librustc_passes/dead.rs @@ -2,10 +2,6 @@ // closely. The idea is that all reachable symbols are live, codes called // from live codes are live, and everything else is dead. -use rustc::hir::map::Map; -use rustc::middle::codegen_fn_attrs::CodegenFnAttrFlags; -use rustc::middle::privacy; -use rustc::ty::{self, DefIdTree, TyCtxt}; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_hir as hir; use rustc_hir::def::{CtorOf, DefKind, Res}; @@ -13,6 +9,10 @@ use rustc_hir::def_id::{DefId, LOCAL_CRATE}; use rustc_hir::intravisit::{self, NestedVisitorMap, Visitor}; use rustc_hir::itemlikevisit::ItemLikeVisitor; use rustc_hir::{Node, PatKind, TyKind}; +use rustc_middle::hir::map::Map; +use rustc_middle::middle::codegen_fn_attrs::CodegenFnAttrFlags; +use rustc_middle::middle::privacy; +use rustc_middle::ty::{self, DefIdTree, TyCtxt}; use rustc_session::lint; use rustc_ast::{ast, attr}; diff --git a/src/librustc_passes/diagnostic_items.rs b/src/librustc_passes/diagnostic_items.rs index ae23e9e35f93e..c7210432b1d90 100644 --- a/src/librustc_passes/diagnostic_items.rs +++ b/src/librustc_passes/diagnostic_items.rs @@ -9,13 +9,13 @@ //! //! * Compiler internal types like `Ty` and `TyCtxt` -use rustc::ty::query::Providers; -use rustc::ty::TyCtxt; use rustc_ast::ast; use rustc_data_structures::fx::FxHashMap; use rustc_hir as hir; use rustc_hir::def_id::{DefId, LOCAL_CRATE}; use rustc_hir::itemlikevisit::ItemLikeVisitor; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::TyCtxt; use rustc_span::symbol::{sym, Symbol}; struct DiagnosticItemCollector<'tcx> { diff --git a/src/librustc_passes/entry.rs b/src/librustc_passes/entry.rs index 7e0d0bfe9aba4..678859219eaab 100644 --- a/src/librustc_passes/entry.rs +++ b/src/librustc_passes/entry.rs @@ -1,12 +1,12 @@ -use rustc::hir::map::Map; -use rustc::ty::query::Providers; -use rustc::ty::TyCtxt; use rustc_ast::attr; use rustc_ast::entry::EntryPointType; use rustc_errors::struct_span_err; use rustc_hir::def_id::{CrateNum, DefId, CRATE_DEF_INDEX, LOCAL_CRATE}; use rustc_hir::itemlikevisit::ItemLikeVisitor; use rustc_hir::{HirId, ImplItem, Item, ItemKind, TraitItem}; +use rustc_middle::hir::map::Map; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::TyCtxt; use rustc_session::config::EntryFnType; use rustc_session::{config, Session}; use rustc_span::symbol::sym; diff --git a/src/librustc_passes/hir_id_validator.rs b/src/librustc_passes/hir_id_validator.rs index a78e45eebbed4..f5611654fc061 100644 --- a/src/librustc_passes/hir_id_validator.rs +++ b/src/librustc_passes/hir_id_validator.rs @@ -1,5 +1,3 @@ -use rustc::hir::map::Map; -use rustc::ty::TyCtxt; use rustc_data_structures::fx::FxHashSet; use rustc_data_structures::sync::{par_iter, Lock, ParallelIterator}; use rustc_hir as hir; @@ -7,6 +5,8 @@ use rustc_hir::def_id::{LocalDefId, CRATE_DEF_INDEX}; use rustc_hir::intravisit; use rustc_hir::itemlikevisit::ItemLikeVisitor; use rustc_hir::{HirId, ItemLocalId}; +use rustc_middle::hir::map::Map; +use rustc_middle::ty::TyCtxt; pub fn check_crate(tcx: TyCtxt<'_>) { tcx.dep_graph.assert_ignored(); diff --git a/src/librustc_passes/hir_stats.rs b/src/librustc_passes/hir_stats.rs index 8bfe58da78f6e..139ffb9699ad2 100644 --- a/src/librustc_passes/hir_stats.rs +++ b/src/librustc_passes/hir_stats.rs @@ -2,14 +2,14 @@ // pieces of AST and HIR. The resulting numbers are good approximations but not // completely accurate (some things might be counted twice, others missed). -use rustc::hir::map::Map; -use rustc::util::common::to_readable_str; use rustc_ast::ast::{self, AttrId, NodeId}; use rustc_ast::visit as ast_visit; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_hir as hir; use rustc_hir::intravisit as hir_visit; use rustc_hir::HirId; +use rustc_middle::hir::map::Map; +use rustc_middle::util::common::to_readable_str; use rustc_span::Span; #[derive(Copy, Clone, PartialEq, Eq, Hash)] diff --git a/src/librustc_passes/intrinsicck.rs b/src/librustc_passes/intrinsicck.rs index 1b46aaeefcb18..11096c693e630 100644 --- a/src/librustc_passes/intrinsicck.rs +++ b/src/librustc_passes/intrinsicck.rs @@ -1,12 +1,12 @@ -use rustc::ty::layout::{LayoutError, Pointer, SizeSkeleton, VariantIdx}; -use rustc::ty::query::Providers; -use rustc::ty::{self, Ty, TyCtxt}; use rustc_errors::struct_span_err; use rustc_hir as hir; use rustc_hir::def::{DefKind, Res}; use rustc_hir::def_id::DefId; use rustc_hir::intravisit::{self, NestedVisitorMap, Visitor}; use rustc_index::vec::Idx; +use rustc_middle::ty::layout::{LayoutError, Pointer, SizeSkeleton, VariantIdx}; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::{self, Ty, TyCtxt}; use rustc_span::{sym, Span}; use rustc_target::spec::abi::Abi::RustIntrinsic; diff --git a/src/librustc_passes/lang_items.rs b/src/librustc_passes/lang_items.rs index 88e92bbdba1aa..f1aa76cd223ff 100644 --- a/src/librustc_passes/lang_items.rs +++ b/src/librustc_passes/lang_items.rs @@ -9,8 +9,8 @@ use crate::weak_lang_items; -use rustc::middle::cstore::ExternCrate; -use rustc::ty::TyCtxt; +use rustc_middle::middle::cstore::ExternCrate; +use rustc_middle::ty::TyCtxt; use rustc_errors::struct_span_err; use rustc_hir as hir; @@ -19,7 +19,7 @@ use rustc_hir::itemlikevisit::ItemLikeVisitor; use rustc_hir::lang_items::{extract, ITEM_REFS}; use rustc_hir::{LangItem, LanguageItems, Target}; -use rustc::ty::query::Providers; +use rustc_middle::ty::query::Providers; struct LanguageItemCollector<'tcx> { items: LanguageItems, diff --git a/src/librustc_passes/layout_test.rs b/src/librustc_passes/layout_test.rs index a3bbfd8b4c0ae..9fa3225851ba1 100644 --- a/src/librustc_passes/layout_test.rs +++ b/src/librustc_passes/layout_test.rs @@ -1,17 +1,17 @@ -use rustc::ty::layout::HasDataLayout; -use rustc::ty::layout::HasParamEnv; -use rustc::ty::layout::HasTyCtxt; -use rustc::ty::layout::LayoutOf; -use rustc::ty::layout::TargetDataLayout; -use rustc::ty::layout::TyAndLayout; -use rustc::ty::ParamEnv; -use rustc::ty::Ty; -use rustc::ty::TyCtxt; use rustc_ast::ast::Attribute; use rustc_hir as hir; use rustc_hir::def_id::DefId; use rustc_hir::itemlikevisit::ItemLikeVisitor; use rustc_hir::ItemKind; +use rustc_middle::ty::layout::HasDataLayout; +use rustc_middle::ty::layout::HasParamEnv; +use rustc_middle::ty::layout::HasTyCtxt; +use rustc_middle::ty::layout::LayoutOf; +use rustc_middle::ty::layout::TargetDataLayout; +use rustc_middle::ty::layout::TyAndLayout; +use rustc_middle::ty::ParamEnv; +use rustc_middle::ty::Ty; +use rustc_middle::ty::TyCtxt; use rustc_span::symbol::sym; pub fn test_layout(tcx: TyCtxt<'_>) { diff --git a/src/librustc_passes/lib.rs b/src/librustc_passes/lib.rs index ab978edb8c3de..c81ec83232ad2 100644 --- a/src/librustc_passes/lib.rs +++ b/src/librustc_passes/lib.rs @@ -10,11 +10,11 @@ #![recursion_limit = "256"] #[macro_use] -extern crate rustc; +extern crate rustc_middle; #[macro_use] extern crate log; -use rustc::ty::query::Providers; +use rustc_middle::ty::query::Providers; mod check_attr; mod check_const; diff --git a/src/librustc_passes/lib_features.rs b/src/librustc_passes/lib_features.rs index 133e30f6ff01a..dd972f37569f6 100644 --- a/src/librustc_passes/lib_features.rs +++ b/src/librustc_passes/lib_features.rs @@ -4,14 +4,14 @@ // and `#[unstable (..)]`), but are not declared in one single location // (unlike lang features), which means we need to collect them instead. -use rustc::hir::map::Map; -use rustc::middle::lib_features::LibFeatures; -use rustc::ty::query::Providers; -use rustc::ty::TyCtxt; use rustc_ast::ast::{Attribute, MetaItem, MetaItemKind}; use rustc_errors::struct_span_err; use rustc_hir::def_id::LOCAL_CRATE; use rustc_hir::intravisit::{self, NestedVisitorMap, Visitor}; +use rustc_middle::hir::map::Map; +use rustc_middle::middle::lib_features::LibFeatures; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::TyCtxt; use rustc_span::symbol::Symbol; use rustc_span::{sym, Span}; diff --git a/src/librustc_passes/liveness.rs b/src/librustc_passes/liveness.rs index 5df15a614e82a..c9060334a9a41 100644 --- a/src/librustc_passes/liveness.rs +++ b/src/librustc_passes/liveness.rs @@ -96,9 +96,6 @@ use self::LiveNodeKind::*; use self::VarKind::*; -use rustc::hir::map::Map; -use rustc::ty::query::Providers; -use rustc::ty::{self, TyCtxt}; use rustc_ast::ast; use rustc_data_structures::fx::FxIndexMap; use rustc_errors::Applicability; @@ -107,6 +104,9 @@ use rustc_hir::def::*; use rustc_hir::def_id::DefId; use rustc_hir::intravisit::{self, FnKind, NestedVisitorMap, Visitor}; use rustc_hir::{Expr, HirId, HirIdMap, HirIdSet, Node}; +use rustc_middle::hir::map::Map; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::{self, TyCtxt}; use rustc_session::lint; use rustc_span::symbol::sym; use rustc_span::Span; diff --git a/src/librustc_passes/loops.rs b/src/librustc_passes/loops.rs index fa2afae469c04..0fce08192bb3e 100644 --- a/src/librustc_passes/loops.rs +++ b/src/librustc_passes/loops.rs @@ -1,13 +1,13 @@ use Context::*; -use rustc::hir::map::Map; -use rustc::ty::query::Providers; -use rustc::ty::TyCtxt; use rustc_errors::{struct_span_err, Applicability}; use rustc_hir as hir; use rustc_hir::def_id::DefId; use rustc_hir::intravisit::{self, NestedVisitorMap, Visitor}; use rustc_hir::{Destination, Movability, Node}; +use rustc_middle::hir::map::Map; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::TyCtxt; use rustc_session::Session; use rustc_span::Span; diff --git a/src/librustc_passes/reachable.rs b/src/librustc_passes/reachable.rs index 1e9c6c91d385f..c0ae6519d2e56 100644 --- a/src/librustc_passes/reachable.rs +++ b/src/librustc_passes/reachable.rs @@ -5,10 +5,6 @@ // makes all other generics or inline functions that it references // reachable as well. -use rustc::middle::codegen_fn_attrs::{CodegenFnAttrFlags, CodegenFnAttrs}; -use rustc::middle::privacy; -use rustc::ty::query::Providers; -use rustc::ty::{self, TyCtxt}; use rustc_data_structures::fx::FxHashSet; use rustc_data_structures::sync::Lrc; use rustc_hir as hir; @@ -18,6 +14,10 @@ use rustc_hir::def_id::{CrateNum, DefId}; use rustc_hir::intravisit::{self, NestedVisitorMap, Visitor}; use rustc_hir::itemlikevisit::ItemLikeVisitor; use rustc_hir::{HirIdSet, Node}; +use rustc_middle::middle::codegen_fn_attrs::{CodegenFnAttrFlags, CodegenFnAttrs}; +use rustc_middle::middle::privacy; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::{self, TyCtxt}; use rustc_session::config; use rustc_target::spec::abi::Abi; diff --git a/src/librustc_passes/region.rs b/src/librustc_passes/region.rs index e771696a5b6bf..290454c1673f2 100644 --- a/src/librustc_passes/region.rs +++ b/src/librustc_passes/region.rs @@ -6,9 +6,6 @@ //! //! [rustc dev guide]: https://rustc-dev-guide.rust-lang.org/borrow_check.html -use rustc::middle::region::*; -use rustc::ty::query::Providers; -use rustc::ty::TyCtxt; use rustc_ast::walk_list; use rustc_data_structures::fx::FxHashSet; use rustc_hir as hir; @@ -16,6 +13,9 @@ use rustc_hir::def_id::DefId; use rustc_hir::intravisit::{self, NestedVisitorMap, Visitor}; use rustc_hir::{Arm, Block, Expr, Local, Node, Pat, PatKind, Stmt}; use rustc_index::vec::Idx; +use rustc_middle::middle::region::*; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::TyCtxt; use rustc_span::source_map; use rustc_span::Span; diff --git a/src/librustc_passes/stability.rs b/src/librustc_passes/stability.rs index 8fa5a4fbc61f4..6fbfdbdc4e914 100644 --- a/src/librustc_passes/stability.rs +++ b/src/librustc_passes/stability.rs @@ -1,11 +1,6 @@ //! A pass that annotates every item and method with its stability level, //! propagating default levels lexically from parent to children ast nodes. -use rustc::hir::map::Map; -use rustc::middle::privacy::AccessLevels; -use rustc::middle::stability::{DeprecationEntry, Index}; -use rustc::ty::query::Providers; -use rustc::ty::TyCtxt; use rustc_ast::ast::Attribute; use rustc_attr::{self as attr, ConstStability, Stability}; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; @@ -15,6 +10,11 @@ use rustc_hir::def::{DefKind, Res}; use rustc_hir::def_id::{DefId, CRATE_DEF_INDEX, LOCAL_CRATE}; use rustc_hir::intravisit::{self, NestedVisitorMap, Visitor}; use rustc_hir::{Generics, HirId, Item, StructField, Variant}; +use rustc_middle::hir::map::Map; +use rustc_middle::middle::privacy::AccessLevels; +use rustc_middle::middle::stability::{DeprecationEntry, Index}; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::TyCtxt; use rustc_session::lint; use rustc_session::parse::feature_err; use rustc_session::Session; @@ -438,7 +438,7 @@ fn new_index(tcx: TyCtxt<'tcx>) -> Index<'tcx> { // If the `-Z force-unstable-if-unmarked` flag is passed then we provide // a parent stability annotation which indicates that this is private // with the `rustc_private` feature. This is intended for use when - // compiling librustc crates themselves so we can leverage crates.io + // compiling librustc_middle crates themselves so we can leverage crates.io // while maintaining the invariant that all sysroot crates are unstable // by default and are unable to be used. if tcx.sess.opts.debugging_opts.force_unstable_if_unmarked { diff --git a/src/librustc_passes/upvars.rs b/src/librustc_passes/upvars.rs index 43f39e6c610c8..fd046d9b66bd4 100644 --- a/src/librustc_passes/upvars.rs +++ b/src/librustc_passes/upvars.rs @@ -1,12 +1,12 @@ //! Upvar (closure capture) collection from cross-body HIR uses of `Res::Local`s. -use rustc::ty::query::Providers; -use rustc::ty::TyCtxt; use rustc_data_structures::fx::{FxHashSet, FxIndexMap}; use rustc_hir as hir; use rustc_hir::def::Res; use rustc_hir::intravisit::{self, NestedVisitorMap, Visitor}; use rustc_hir::{self, HirId}; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::TyCtxt; use rustc_span::Span; pub fn provide(providers: &mut Providers<'_>) { diff --git a/src/librustc_passes/weak_lang_items.rs b/src/librustc_passes/weak_lang_items.rs index cde489e8d2c1e..8d11af15b56ff 100644 --- a/src/librustc_passes/weak_lang_items.rs +++ b/src/librustc_passes/weak_lang_items.rs @@ -1,13 +1,13 @@ //! Validity checking for weak lang items -use rustc::middle::lang_items; -use rustc::middle::lang_items::whitelisted; -use rustc::ty::TyCtxt; use rustc_data_structures::fx::FxHashSet; use rustc_errors::struct_span_err; use rustc_hir as hir; use rustc_hir::intravisit::{self, NestedVisitorMap, Visitor}; use rustc_hir::weak_lang_items::WEAK_ITEMS_REFS; +use rustc_middle::middle::lang_items; +use rustc_middle::middle::lang_items::whitelisted; +use rustc_middle::ty::TyCtxt; use rustc_session::config; use rustc_span::symbol::Symbol; use rustc_span::Span; diff --git a/src/librustc_plugin_impl/Cargo.toml b/src/librustc_plugin_impl/Cargo.toml index 372d6a534c8d4..38cfbd48de246 100644 --- a/src/librustc_plugin_impl/Cargo.toml +++ b/src/librustc_plugin_impl/Cargo.toml @@ -11,7 +11,7 @@ path = "lib.rs" doctest = false [dependencies] -rustc = { path = "../librustc" } +rustc_middle = { path = "../librustc_middle" } rustc_errors = { path = "../librustc_errors" } rustc_hir = { path = "../librustc_hir" } rustc_lint = { path = "../librustc_lint" } diff --git a/src/librustc_plugin_impl/build.rs b/src/librustc_plugin_impl/build.rs index 03e58d758c5b5..c7841595fe5a4 100644 --- a/src/librustc_plugin_impl/build.rs +++ b/src/librustc_plugin_impl/build.rs @@ -1,11 +1,11 @@ //! Used by `rustc` when compiling a plugin crate. -use rustc::ty::query::Providers; -use rustc::ty::TyCtxt; use rustc_ast::attr; use rustc_hir as hir; use rustc_hir::def_id::{CrateNum, DefId, LOCAL_CRATE}; use rustc_hir::itemlikevisit::ItemLikeVisitor; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::TyCtxt; use rustc_span::symbol::sym; use rustc_span::Span; diff --git a/src/librustc_plugin_impl/load.rs b/src/librustc_plugin_impl/load.rs index 0810cf56d1783..f41bc44d17705 100644 --- a/src/librustc_plugin_impl/load.rs +++ b/src/librustc_plugin_impl/load.rs @@ -1,10 +1,10 @@ //! Used by `rustc` when loading a plugin. use crate::Registry; -use rustc::middle::cstore::MetadataLoader; use rustc_ast::ast::{Crate, Ident}; use rustc_errors::struct_span_err; use rustc_metadata::locator; +use rustc_middle::middle::cstore::MetadataLoader; use rustc_session::Session; use rustc_span::symbol::sym; use rustc_span::Span; diff --git a/src/librustc_privacy/Cargo.toml b/src/librustc_privacy/Cargo.toml index 9854e0f6c53f3..34146113f0e8e 100644 --- a/src/librustc_privacy/Cargo.toml +++ b/src/librustc_privacy/Cargo.toml @@ -9,7 +9,7 @@ name = "rustc_privacy" path = "lib.rs" [dependencies] -rustc = { path = "../librustc" } +rustc_middle = { path = "../librustc_middle" } rustc_attr = { path = "../librustc_attr" } rustc_errors = { path = "../librustc_errors" } rustc_hir = { path = "../librustc_hir" } diff --git a/src/librustc_privacy/lib.rs b/src/librustc_privacy/lib.rs index 0df1d08cbd8bd..428d0a3a4dbca 100644 --- a/src/librustc_privacy/lib.rs +++ b/src/librustc_privacy/lib.rs @@ -3,13 +3,6 @@ #![feature(nll)] #![recursion_limit = "256"] -use rustc::bug; -use rustc::hir::map::Map; -use rustc::middle::privacy::{AccessLevel, AccessLevels}; -use rustc::ty::fold::TypeVisitor; -use rustc::ty::query::Providers; -use rustc::ty::subst::InternalSubsts; -use rustc::ty::{self, GenericParamDefKind, TraitRef, Ty, TyCtxt, TypeFoldable}; use rustc_ast::ast::Ident; use rustc_attr as attr; use rustc_data_structures::fx::FxHashSet; @@ -19,6 +12,13 @@ use rustc_hir::def::{DefKind, Res}; use rustc_hir::def_id::{CrateNum, DefId, CRATE_DEF_INDEX, LOCAL_CRATE}; use rustc_hir::intravisit::{self, DeepVisitor, NestedVisitorMap, Visitor}; use rustc_hir::{AssocItemKind, HirIdSet, Node, PatKind}; +use rustc_middle::bug; +use rustc_middle::hir::map::Map; +use rustc_middle::middle::privacy::{AccessLevel, AccessLevels}; +use rustc_middle::ty::fold::TypeVisitor; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::subst::InternalSubsts; +use rustc_middle::ty::{self, GenericParamDefKind, TraitRef, Ty, TyCtxt, TypeFoldable}; use rustc_session::lint; use rustc_span::hygiene::Transparency; use rustc_span::symbol::{kw, sym}; diff --git a/src/librustc_query_system/dep_graph/dep_node.rs b/src/librustc_query_system/dep_graph/dep_node.rs index b1d332da11592..99eb3cdc0b020 100644 --- a/src/librustc_query_system/dep_graph/dep_node.rs +++ b/src/librustc_query_system/dep_graph/dep_node.rs @@ -26,7 +26,7 @@ //! could not be instantiated because the current compilation session //! contained no `DefId` for thing that had been removed. //! -//! `DepNode` definition happens in `librustc` with the `define_dep_nodes!()` macro. +//! `DepNode` definition happens in `librustc_middle` with the `define_dep_nodes!()` macro. //! This macro defines the `DepKind` enum and a corresponding `DepConstructor` enum. The //! `DepConstructor` enum links a `DepKind` to the parameters that are needed at runtime in order //! to construct a valid `DepNode` fingerprint. diff --git a/src/librustc_query_system/query/config.rs b/src/librustc_query_system/query/config.rs index 20dad0bd47ebc..06e3302b26360 100644 --- a/src/librustc_query_system/query/config.rs +++ b/src/librustc_query_system/query/config.rs @@ -13,8 +13,8 @@ use std::borrow::Cow; use std::fmt::Debug; use std::hash::Hash; -// The parameter `CTX` is required in librustc: implementations may need to access the `'tcx` -// lifetime in `CTX = TyCtxt<'tcx>`. +// The parameter `CTX` is required in librustc_middle: +// implementations may need to access the `'tcx` lifetime in `CTX = TyCtxt<'tcx>`. pub trait QueryConfig { const NAME: &'static str; const CATEGORY: ProfileCategory; diff --git a/src/librustc_resolve/Cargo.toml b/src/librustc_resolve/Cargo.toml index 49f079ad27070..420a82d6d2ced 100644 --- a/src/librustc_resolve/Cargo.toml +++ b/src/librustc_resolve/Cargo.toml @@ -15,7 +15,7 @@ bitflags = "1.2.1" log = "0.4" rustc_ast = { path = "../librustc_ast" } arena = { path = "../libarena" } -rustc = { path = "../librustc" } +rustc_middle = { path = "../librustc_middle" } rustc_ast_lowering = { path = "../librustc_ast_lowering" } rustc_ast_pretty = { path = "../librustc_ast_pretty" } rustc_attr = { path = "../librustc_attr" } diff --git a/src/librustc_resolve/build_reduced_graph.rs b/src/librustc_resolve/build_reduced_graph.rs index 5408c85a4d006..51089f73c2814 100644 --- a/src/librustc_resolve/build_reduced_graph.rs +++ b/src/librustc_resolve/build_reduced_graph.rs @@ -15,10 +15,6 @@ use crate::{ }; use crate::{Module, ModuleData, ModuleKind, NameBinding, NameBindingKind, Segment, ToNameBinding}; -use rustc::bug; -use rustc::hir::exports::Export; -use rustc::middle::cstore::CrateStore; -use rustc::ty; use rustc_ast::ast::{self, Block, ForeignItem, ForeignItemKind, Item, ItemKind, NodeId}; use rustc_ast::ast::{AssocItem, AssocItemKind, MetaItemKind, StmtKind}; use rustc_ast::ast::{Ident, Name}; @@ -32,6 +28,10 @@ use rustc_expand::expand::AstFragment; use rustc_hir::def::{self, *}; use rustc_hir::def_id::{DefId, CRATE_DEF_INDEX, LOCAL_CRATE}; use rustc_metadata::creader::LoadedMacro; +use rustc_middle::bug; +use rustc_middle::hir::exports::Export; +use rustc_middle::middle::cstore::CrateStore; +use rustc_middle::ty; use rustc_span::hygiene::{ExpnId, MacroKind}; use rustc_span::source_map::{respan, Spanned}; use rustc_span::symbol::{kw, sym}; diff --git a/src/librustc_resolve/check_unused.rs b/src/librustc_resolve/check_unused.rs index 35876176e3e4b..dd286723412dd 100644 --- a/src/librustc_resolve/check_unused.rs +++ b/src/librustc_resolve/check_unused.rs @@ -26,12 +26,12 @@ use crate::imports::ImportKind; use crate::Resolver; -use rustc::ty; use rustc_ast::ast; use rustc_ast::node_id::NodeMap; use rustc_ast::visit::{self, Visitor}; use rustc_data_structures::fx::FxHashSet; use rustc_errors::pluralize; +use rustc_middle::ty; use rustc_session::lint::builtin::{MACRO_USE_EXTERN_CRATE, UNUSED_IMPORTS}; use rustc_session::lint::BuiltinLintDiagnostics; use rustc_span::{MultiSpan, Span, DUMMY_SP}; diff --git a/src/librustc_resolve/diagnostics.rs b/src/librustc_resolve/diagnostics.rs index 78b7e256de217..b51760cee1ef8 100644 --- a/src/librustc_resolve/diagnostics.rs +++ b/src/librustc_resolve/diagnostics.rs @@ -2,8 +2,6 @@ use std::cmp::Reverse; use std::ptr; use log::debug; -use rustc::bug; -use rustc::ty::{self, DefIdTree}; use rustc_ast::ast::{self, Ident, Path}; use rustc_ast::util::lev_distance::find_best_match_for_name; use rustc_ast_pretty::pprust; @@ -13,6 +11,8 @@ use rustc_feature::BUILTIN_ATTRIBUTES; use rustc_hir::def::Namespace::{self, *}; use rustc_hir::def::{self, CtorKind, CtorOf, DefKind, NonMacroAttrKind}; use rustc_hir::def_id::{DefId, CRATE_DEF_INDEX, LOCAL_CRATE}; +use rustc_middle::bug; +use rustc_middle::ty::{self, DefIdTree}; use rustc_session::Session; use rustc_span::hygiene::MacroKind; use rustc_span::source_map::SourceMap; diff --git a/src/librustc_resolve/imports.rs b/src/librustc_resolve/imports.rs index 8c7ab8f5b1a5a..5324e370dbdf2 100644 --- a/src/librustc_resolve/imports.rs +++ b/src/librustc_resolve/imports.rs @@ -9,9 +9,6 @@ use crate::{BindingKey, ModuleKind, ResolutionError, Resolver, Segment}; use crate::{CrateLint, Module, ModuleOrUniformRoot, ParentScope, PerNS, ScopeSet, Weak}; use crate::{NameBinding, NameBindingKind, PathResult, PrivacyError, ToNameBinding}; -use rustc::hir::exports::Export; -use rustc::ty; -use rustc::{bug, span_bug}; use rustc_ast::ast::{Ident, Name, NodeId}; use rustc_ast::unwrap_or; use rustc_ast::util::lev_distance::find_best_match_for_name; @@ -20,6 +17,9 @@ use rustc_data_structures::ptr_key::PtrKey; use rustc_errors::{pluralize, struct_span_err, Applicability}; use rustc_hir::def::{self, PartialRes}; use rustc_hir::def_id::DefId; +use rustc_middle::hir::exports::Export; +use rustc_middle::ty; +use rustc_middle::{bug, span_bug}; use rustc_session::lint::builtin::{PUB_USE_OF_PRIVATE_EXTERN_CRATE, UNUSED_IMPORTS}; use rustc_session::lint::BuiltinLintDiagnostics; use rustc_session::DiagnosticMessageId; diff --git a/src/librustc_resolve/late.rs b/src/librustc_resolve/late.rs index 4a3c9f338d903..1b40d2bea06c3 100644 --- a/src/librustc_resolve/late.rs +++ b/src/librustc_resolve/late.rs @@ -11,7 +11,6 @@ use crate::{path_names_to_string, BindingError, CrateLint, LexicalScopeBinding}; use crate::{Module, ModuleOrUniformRoot, NameBindingKind, ParentScope, PathResult}; use crate::{ResolutionError, Resolver, Segment, UseError}; -use rustc::{bug, span_bug}; use rustc_ast::ast::*; use rustc_ast::ptr::P; use rustc_ast::util::lev_distance::find_best_match_for_name; @@ -23,6 +22,7 @@ use rustc_hir::def::Namespace::{self, *}; use rustc_hir::def::{self, CtorKind, DefKind, PartialRes, PerNS}; use rustc_hir::def_id::{DefId, CRATE_DEF_INDEX}; use rustc_hir::TraitCandidate; +use rustc_middle::{bug, span_bug}; use rustc_session::lint; use rustc_span::symbol::{kw, sym}; use rustc_span::Span; diff --git a/src/librustc_resolve/late/lifetimes.rs b/src/librustc_resolve/late/lifetimes.rs index bc843fccc4c71..71ff9e5cbed17 100644 --- a/src/librustc_resolve/late/lifetimes.rs +++ b/src/librustc_resolve/late/lifetimes.rs @@ -6,10 +6,6 @@ //! way. Therefore, we break lifetime name resolution into a separate pass. use crate::late::diagnostics::{ForLifetimeSpanType, MissingLifetimeSpot}; -use rustc::hir::map::Map; -use rustc::middle::resolve_lifetime::*; -use rustc::ty::{self, DefIdTree, GenericParamDefKind, TyCtxt}; -use rustc::{bug, span_bug}; use rustc_ast::ast; use rustc_ast::attr; use rustc_ast::walk_list; @@ -21,6 +17,10 @@ use rustc_hir::def_id::{CrateNum, DefId, DefIdMap, LOCAL_CRATE}; use rustc_hir::intravisit::{self, NestedVisitorMap, Visitor}; use rustc_hir::{GenericArg, GenericParam, LifetimeName, Node, ParamName, QPath}; use rustc_hir::{GenericParamKind, HirIdMap, HirIdSet, LifetimeParamKind}; +use rustc_middle::hir::map::Map; +use rustc_middle::middle::resolve_lifetime::*; +use rustc_middle::ty::{self, DefIdTree, GenericParamDefKind, TyCtxt}; +use rustc_middle::{bug, span_bug}; use rustc_session::lint; use rustc_span::symbol::{kw, sym}; use rustc_span::Span; diff --git a/src/librustc_resolve/lib.rs b/src/librustc_resolve/lib.rs index 9d5121cbad562..57454b62cdd0f 100644 --- a/src/librustc_resolve/lib.rs +++ b/src/librustc_resolve/lib.rs @@ -16,11 +16,6 @@ pub use rustc_hir::def::{Namespace, PerNS}; use Determinacy::*; -use rustc::hir::exports::ExportMap; -use rustc::middle::cstore::{CrateStore, MetadataLoaderDyn}; -use rustc::span_bug; -use rustc::ty::query::Providers; -use rustc::ty::{self, DefIdTree, ResolverOutputs}; use rustc_ast::ast::{self, FloatTy, Ident, IntTy, Name, NodeId, UintTy}; use rustc_ast::ast::{Crate, CRATE_NODE_ID}; use rustc_ast::ast::{ItemKind, Path}; @@ -41,6 +36,11 @@ use rustc_hir::definitions::{DefKey, Definitions}; use rustc_hir::PrimTy::{self, Bool, Char, Float, Int, Str, Uint}; use rustc_hir::{GlobMap, TraitMap}; use rustc_metadata::creader::{CStore, CrateLoader}; +use rustc_middle::hir::exports::ExportMap; +use rustc_middle::middle::cstore::{CrateStore, MetadataLoaderDyn}; +use rustc_middle::span_bug; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::{self, DefIdTree, ResolverOutputs}; use rustc_session::lint; use rustc_session::lint::{BuiltinLintDiagnostics, LintBuffer}; use rustc_session::Session; diff --git a/src/librustc_resolve/macros.rs b/src/librustc_resolve/macros.rs index a783cfa4811fd..5efd3daebb9e2 100644 --- a/src/librustc_resolve/macros.rs +++ b/src/librustc_resolve/macros.rs @@ -6,8 +6,6 @@ use crate::Namespace::*; use crate::{AmbiguityError, AmbiguityErrorMisc, AmbiguityKind, Determinacy}; use crate::{CrateLint, ParentScope, ResolutionError, Resolver, Scope, ScopeSet, Weak}; use crate::{ModuleKind, ModuleOrUniformRoot, NameBinding, PathResult, Segment, ToNameBinding}; -use rustc::middle::stability; -use rustc::{span_bug, ty}; use rustc_ast::ast::{self, Ident, NodeId}; use rustc_ast_pretty::pprust; use rustc_attr::{self as attr, StabilityLevel}; @@ -19,6 +17,8 @@ use rustc_expand::expand::{AstFragment, AstFragmentKind, Invocation, InvocationK use rustc_feature::is_builtin_attr_name; use rustc_hir::def::{self, DefKind, NonMacroAttrKind}; use rustc_hir::def_id; +use rustc_middle::middle::stability; +use rustc_middle::{span_bug, ty}; use rustc_session::lint::builtin::UNUSED_MACROS; use rustc_session::Session; use rustc_span::edition::Edition; diff --git a/src/librustc_save_analysis/Cargo.toml b/src/librustc_save_analysis/Cargo.toml index 623da1ddcb425..5948c88054ded 100644 --- a/src/librustc_save_analysis/Cargo.toml +++ b/src/librustc_save_analysis/Cargo.toml @@ -10,7 +10,7 @@ path = "lib.rs" [dependencies] log = "0.4" -rustc = { path = "../librustc" } +rustc_middle = { path = "../librustc_middle" } rustc_ast = { path = "../librustc_ast" } rustc_ast_pretty = { path = "../librustc_ast_pretty" } rustc_data_structures = { path = "../librustc_data_structures" } diff --git a/src/librustc_save_analysis/dump_visitor.rs b/src/librustc_save_analysis/dump_visitor.rs index e5637e4e6e694..dc3f110636876 100644 --- a/src/librustc_save_analysis/dump_visitor.rs +++ b/src/librustc_save_analysis/dump_visitor.rs @@ -13,8 +13,6 @@ //! DumpVisitor walks the AST and processes it, and Dumper is used for //! recording the output. -use rustc::span_bug; -use rustc::ty::{self, DefIdTree, TyCtxt}; use rustc_ast::ast::{self, Attribute, NodeId, PatKind}; use rustc_ast::ptr::P; use rustc_ast::token; @@ -24,6 +22,8 @@ use rustc_ast_pretty::pprust::{bounds_to_string, generic_params_to_string, ty_to use rustc_data_structures::fx::FxHashSet; use rustc_hir::def::{DefKind as HirDefKind, Res}; use rustc_hir::def_id::DefId; +use rustc_middle::span_bug; +use rustc_middle::ty::{self, DefIdTree, TyCtxt}; use rustc_session::config::Input; use rustc_span::source_map::{respan, DUMMY_SP}; use rustc_span::*; diff --git a/src/librustc_save_analysis/lib.rs b/src/librustc_save_analysis/lib.rs index c737c6257a2ec..277848a7d6172 100644 --- a/src/librustc_save_analysis/lib.rs +++ b/src/librustc_save_analysis/lib.rs @@ -8,10 +8,6 @@ mod dumper; mod span_utils; mod sig; -use rustc::middle::cstore::ExternCrate; -use rustc::middle::privacy::AccessLevels; -use rustc::ty::{self, DefIdTree, TyCtxt}; -use rustc::{bug, span_bug}; use rustc_ast::ast::{self, Attribute, NodeId, PatKind, DUMMY_NODE_ID}; use rustc_ast::util::comments::strip_doc_comment_decoration; use rustc_ast::visit::{self, Visitor}; @@ -20,6 +16,10 @@ use rustc_hir as hir; use rustc_hir::def::{CtorOf, DefKind as HirDefKind, Res}; use rustc_hir::def_id::{DefId, LOCAL_CRATE}; use rustc_hir::Node; +use rustc_middle::middle::cstore::ExternCrate; +use rustc_middle::middle::privacy::AccessLevels; +use rustc_middle::ty::{self, DefIdTree, TyCtxt}; +use rustc_middle::{bug, span_bug}; use rustc_session::config::{CrateType, Input, OutputType}; use rustc_session::output::{filename_for_metadata, out_filename}; use rustc_span::source_map::Spanned; diff --git a/src/librustc_session/filesearch.rs b/src/librustc_session/filesearch.rs index 05e6da43ea7a9..4310c50844306 100644 --- a/src/librustc_session/filesearch.rs +++ b/src/librustc_session/filesearch.rs @@ -143,7 +143,7 @@ fn find_libdir(sysroot: &Path) -> Cow<'static, str> { // FIXME: This is a quick hack to make the rustc binary able to locate // Rust libraries in Linux environments where libraries might be installed // to lib64/lib32. This would be more foolproof by basing the sysroot off - // of the directory where librustc is located, rather than where the rustc + // of the directory where librustc_middle is located, rather than where the rustc // binary is. // If --libdir is set during configuration to the value other than // "lib" (i.e., non-default), this value is used (see issue #16552). diff --git a/src/librustc_session/lint.rs b/src/librustc_session/lint.rs index 1162cff4e0b2b..07075863ae3ee 100644 --- a/src/librustc_session/lint.rs +++ b/src/librustc_session/lint.rs @@ -195,7 +195,7 @@ pub enum BuiltinLintDiagnostics { } /// Lints that are buffered up early on in the `Session` before the -/// `LintLevels` is calculated. These are later passed to `librustc`. +/// `LintLevels` is calculated. These are later passed to `librustc_middle`. #[derive(PartialEq)] pub struct BufferedEarlyLint { /// The span of code that we are linting on. @@ -207,7 +207,7 @@ pub struct BufferedEarlyLint { /// The `NodeId` of the AST node that generated the lint. pub node_id: NodeId, - /// A lint Id that can be passed to `rustc::lint::Lint::from_parser_lint_id`. + /// A lint Id that can be passed to `rustc_session::lint::Lint::from_parser_lint_id`. pub lint_id: LintId, /// Customization of the `DiagnosticBuilder<'_>` for the lint. diff --git a/src/librustc_span/lib.rs b/src/librustc_span/lib.rs index a0c4c90722d25..3bcc20d36e76c 100644 --- a/src/librustc_span/lib.rs +++ b/src/librustc_span/lib.rs @@ -1544,7 +1544,7 @@ fn lookup_line(lines: &[BytePos], pos: BytePos) -> isize { /// Requirements for a `StableHashingContext` to be used in this crate. /// This is a hack to allow using the `HashStable_Generic` derive macro -/// instead of implementing everything in librustc. +/// instead of implementing everything in librustc_middle. pub trait HashStableContext { fn hash_spans(&self) -> bool; fn hash_def_id(&mut self, _: DefId, hasher: &mut StableHasher); diff --git a/src/librustc_symbol_mangling/Cargo.toml b/src/librustc_symbol_mangling/Cargo.toml index 1e4fc8f7e6842..5d091499c8ccc 100644 --- a/src/librustc_symbol_mangling/Cargo.toml +++ b/src/librustc_symbol_mangling/Cargo.toml @@ -16,7 +16,7 @@ rustc-demangle = "0.1.16" rustc_ast = { path = "../librustc_ast" } rustc_span = { path = "../librustc_span" } -rustc = { path = "../librustc" } +rustc_middle = { path = "../librustc_middle" } rustc_hir = { path = "../librustc_hir" } rustc_target = { path = "../librustc_target" } rustc_data_structures = { path = "../librustc_data_structures" } diff --git a/src/librustc_symbol_mangling/legacy.rs b/src/librustc_symbol_mangling/legacy.rs index a891d60b0687b..e742b445af216 100644 --- a/src/librustc_symbol_mangling/legacy.rs +++ b/src/librustc_symbol_mangling/legacy.rs @@ -1,12 +1,12 @@ -use rustc::ich::NodeIdHashingMode; -use rustc::mir::interpret::{ConstValue, Scalar}; -use rustc::ty::print::{PrettyPrinter, Print, Printer}; -use rustc::ty::subst::{GenericArg, GenericArgKind}; -use rustc::ty::{self, Instance, Ty, TyCtxt, TypeFoldable}; -use rustc::util::common::record_time; use rustc_data_structures::stable_hasher::{HashStable, StableHasher}; use rustc_hir::def_id::CrateNum; use rustc_hir::definitions::{DefPathData, DisambiguatedDefPathData}; +use rustc_middle::ich::NodeIdHashingMode; +use rustc_middle::mir::interpret::{ConstValue, Scalar}; +use rustc_middle::ty::print::{PrettyPrinter, Print, Printer}; +use rustc_middle::ty::subst::{GenericArg, GenericArgKind}; +use rustc_middle::ty::{self, Instance, Ty, TyCtxt, TypeFoldable}; +use rustc_middle::util::common::record_time; use log::debug; diff --git a/src/librustc_symbol_mangling/lib.rs b/src/librustc_symbol_mangling/lib.rs index 26cb341050027..2ee2ca3ce2881 100644 --- a/src/librustc_symbol_mangling/lib.rs +++ b/src/librustc_symbol_mangling/lib.rs @@ -94,15 +94,15 @@ #![recursion_limit = "256"] #[macro_use] -extern crate rustc; +extern crate rustc_middle; -use rustc::middle::codegen_fn_attrs::CodegenFnAttrFlags; -use rustc::mir::mono::{InstantiationMode, MonoItem}; -use rustc::ty::query::Providers; -use rustc::ty::subst::SubstsRef; -use rustc::ty::{self, Instance, TyCtxt}; use rustc_hir::def_id::{CrateNum, LOCAL_CRATE}; use rustc_hir::Node; +use rustc_middle::middle::codegen_fn_attrs::CodegenFnAttrFlags; +use rustc_middle::mir::mono::{InstantiationMode, MonoItem}; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::subst::SubstsRef; +use rustc_middle::ty::{self, Instance, TyCtxt}; use rustc_session::config::SymbolManglingVersion; use rustc_span::symbol::Symbol; diff --git a/src/librustc_symbol_mangling/test.rs b/src/librustc_symbol_mangling/test.rs index 8f2f2628e7b7f..a20915dd6fcac 100644 --- a/src/librustc_symbol_mangling/test.rs +++ b/src/librustc_symbol_mangling/test.rs @@ -4,8 +4,8 @@ //! def-path. This is used for unit testing the code that generates //! paths etc in all kinds of annoying scenarios. -use rustc::ty::{Instance, TyCtxt}; use rustc_hir as hir; +use rustc_middle::ty::{Instance, TyCtxt}; use rustc_span::symbol::{sym, Symbol}; const SYMBOL_NAME: Symbol = sym::rustc_symbol_name; diff --git a/src/librustc_symbol_mangling/v0.rs b/src/librustc_symbol_mangling/v0.rs index fb2fde8513ac9..e3358c5706f53 100644 --- a/src/librustc_symbol_mangling/v0.rs +++ b/src/librustc_symbol_mangling/v0.rs @@ -1,12 +1,12 @@ -use rustc::ty::print::{Print, Printer}; -use rustc::ty::subst::{GenericArg, GenericArgKind, Subst}; -use rustc::ty::{self, Instance, Ty, TyCtxt, TypeFoldable}; use rustc_ast::ast::{FloatTy, IntTy, UintTy}; use rustc_data_structures::base_n; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_hir as hir; use rustc_hir::def_id::{CrateNum, DefId}; use rustc_hir::definitions::{DefPathData, DisambiguatedDefPathData}; +use rustc_middle::ty::print::{Print, Printer}; +use rustc_middle::ty::subst::{GenericArg, GenericArgKind, Subst}; +use rustc_middle::ty::{self, Instance, Ty, TyCtxt, TypeFoldable}; use rustc_target::spec::abi::Abi; use std::fmt::Write; diff --git a/src/librustc_target/lib.rs b/src/librustc_target/lib.rs index 98190867d493f..b2965fb880681 100644 --- a/src/librustc_target/lib.rs +++ b/src/librustc_target/lib.rs @@ -25,5 +25,5 @@ pub mod spec; /// Requirements for a `StableHashingContext` to be used in this crate. /// This is a hack to allow using the `HashStable_Generic` derive macro -/// instead of implementing everything in librustc. +/// instead of implementing everything in librustc_middle. pub trait HashStableContext {} diff --git a/src/librustc_trait_selection/Cargo.toml b/src/librustc_trait_selection/Cargo.toml index 5b2da41d06672..254695e53e04d 100644 --- a/src/librustc_trait_selection/Cargo.toml +++ b/src/librustc_trait_selection/Cargo.toml @@ -13,7 +13,7 @@ doctest = false fmt_macros = { path = "../libfmt_macros" } log = { version = "0.4", features = ["release_max_level_info", "std"] } rustc_attr = { path = "../librustc_attr" } -rustc = { path = "../librustc" } +rustc_middle = { path = "../librustc_middle" } rustc_ast = { path = "../librustc_ast" } rustc_data_structures = { path = "../librustc_data_structures" } rustc_errors = { path = "../librustc_errors" } diff --git a/src/librustc_trait_selection/infer.rs b/src/librustc_trait_selection/infer.rs index 7abcbf45277fb..d7a2e720a6d0b 100644 --- a/src/librustc_trait_selection/infer.rs +++ b/src/librustc_trait_selection/infer.rs @@ -1,14 +1,14 @@ use crate::traits::query::outlives_bounds::InferCtxtExt as _; use crate::traits::{self, TraitEngine, TraitEngineExt}; -use rustc::arena::ArenaAllocatable; -use rustc::infer::canonical::{Canonical, CanonicalizedQueryResponse, QueryResponse}; -use rustc::middle::lang_items; -use rustc::traits::query::Fallible; -use rustc::ty::{self, Ty, TypeFoldable}; use rustc_hir as hir; use rustc_infer::infer::outlives::env::OutlivesEnvironment; use rustc_infer::traits::ObligationCause; +use rustc_middle::arena::ArenaAllocatable; +use rustc_middle::infer::canonical::{Canonical, CanonicalizedQueryResponse, QueryResponse}; +use rustc_middle::middle::lang_items; +use rustc_middle::traits::query::Fallible; +use rustc_middle::ty::{self, Ty, TypeFoldable}; use rustc_span::{Span, DUMMY_SP}; use std::fmt::Debug; diff --git a/src/librustc_trait_selection/lib.rs b/src/librustc_trait_selection/lib.rs index 98a623e38860c..21315cc89ca5c 100644 --- a/src/librustc_trait_selection/lib.rs +++ b/src/librustc_trait_selection/lib.rs @@ -26,7 +26,7 @@ extern crate rustc_data_structures; #[macro_use] extern crate log; #[macro_use] -extern crate rustc; +extern crate rustc_middle; pub mod infer; pub mod opaque_types; diff --git a/src/librustc_trait_selection/opaque_types.rs b/src/librustc_trait_selection/opaque_types.rs index 30189d189f2ed..093873c849a92 100644 --- a/src/librustc_trait_selection/opaque_types.rs +++ b/src/librustc_trait_selection/opaque_types.rs @@ -1,9 +1,5 @@ use crate::infer::InferCtxtExt as _; use crate::traits::{self, PredicateObligation}; -use rustc::ty::fold::{BottomUpFolder, TypeFoldable, TypeFolder, TypeVisitor}; -use rustc::ty::free_region_map::FreeRegionRelations; -use rustc::ty::subst::{GenericArg, GenericArgKind, InternalSubsts, SubstsRef}; -use rustc::ty::{self, GenericParamDefKind, Ty, TyCtxt}; use rustc_data_structures::fx::FxHashMap; use rustc_data_structures::sync::Lrc; use rustc_hir as hir; @@ -12,6 +8,10 @@ use rustc_hir::Node; use rustc_infer::infer::error_reporting::unexpected_hidden_region_diagnostic; use rustc_infer::infer::type_variable::{TypeVariableOrigin, TypeVariableOriginKind}; use rustc_infer::infer::{self, InferCtxt, InferOk}; +use rustc_middle::ty::fold::{BottomUpFolder, TypeFoldable, TypeFolder, TypeVisitor}; +use rustc_middle::ty::free_region_map::FreeRegionRelations; +use rustc_middle::ty::subst::{GenericArg, GenericArgKind, InternalSubsts, SubstsRef}; +use rustc_middle::ty::{self, GenericParamDefKind, Ty, TyCtxt}; use rustc_session::config::nightly_options; use rustc_span::Span; diff --git a/src/librustc_trait_selection/traits/auto_trait.rs b/src/librustc_trait_selection/traits/auto_trait.rs index bd980e6eb8b8a..a3908c9c31c04 100644 --- a/src/librustc_trait_selection/traits/auto_trait.rs +++ b/src/librustc_trait_selection/traits/auto_trait.rs @@ -5,8 +5,8 @@ use super::*; use crate::infer::region_constraints::{Constraint, RegionConstraintData}; use crate::infer::InferCtxt; -use rustc::ty::fold::TypeFolder; -use rustc::ty::{Region, RegionVid}; +use rustc_middle::ty::fold::TypeFolder; +use rustc_middle::ty::{Region, RegionVid}; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; diff --git a/src/librustc_trait_selection/traits/codegen/mod.rs b/src/librustc_trait_selection/traits/codegen/mod.rs index 5c2fc3f305c1f..e75432a0b72e8 100644 --- a/src/librustc_trait_selection/traits/codegen/mod.rs +++ b/src/librustc_trait_selection/traits/codegen/mod.rs @@ -7,8 +7,8 @@ use crate::infer::{InferCtxt, TyCtxtInferExt}; use crate::traits::{ FulfillmentContext, Obligation, ObligationCause, SelectionContext, TraitEngine, Vtable, }; -use rustc::ty::fold::TypeFoldable; -use rustc::ty::{self, TyCtxt}; +use rustc_middle::ty::fold::TypeFoldable; +use rustc_middle::ty::{self, TyCtxt}; /// Attempts to resolve an obligation to a vtable. The result is /// a shallow vtable resolution, meaning that we do not diff --git a/src/librustc_trait_selection/traits/coherence.rs b/src/librustc_trait_selection/traits/coherence.rs index dc13af99fec6c..a642ae9823138 100644 --- a/src/librustc_trait_selection/traits/coherence.rs +++ b/src/librustc_trait_selection/traits/coherence.rs @@ -8,10 +8,10 @@ use crate::infer::{CombinedSnapshot, InferOk, TyCtxtInferExt}; use crate::traits::select::IntercrateAmbiguityCause; use crate::traits::SkipLeakCheck; use crate::traits::{self, Normalized, Obligation, ObligationCause, SelectionContext}; -use rustc::ty::fold::TypeFoldable; -use rustc::ty::subst::Subst; -use rustc::ty::{self, Ty, TyCtxt}; use rustc_hir::def_id::{DefId, LOCAL_CRATE}; +use rustc_middle::ty::fold::TypeFoldable; +use rustc_middle::ty::subst::Subst; +use rustc_middle::ty::{self, Ty, TyCtxt}; use rustc_span::symbol::sym; use rustc_span::DUMMY_SP; diff --git a/src/librustc_trait_selection/traits/engine.rs b/src/librustc_trait_selection/traits/engine.rs index ee4715e0c20f6..c6a3dfa698e01 100644 --- a/src/librustc_trait_selection/traits/engine.rs +++ b/src/librustc_trait_selection/traits/engine.rs @@ -1,4 +1,4 @@ -use rustc::ty::TyCtxt; +use rustc_middle::ty::TyCtxt; use super::FulfillmentContext; use super::TraitEngine; diff --git a/src/librustc_trait_selection/traits/error_reporting/mod.rs b/src/librustc_trait_selection/traits/error_reporting/mod.rs index d0cfa5489589d..7d6b3b52c046f 100644 --- a/src/librustc_trait_selection/traits/error_reporting/mod.rs +++ b/src/librustc_trait_selection/traits/error_reporting/mod.rs @@ -11,19 +11,19 @@ use super::{ use crate::infer::error_reporting::{TyCategory, TypeAnnotationNeeded as ErrorCode}; use crate::infer::type_variable::{TypeVariableOrigin, TypeVariableOriginKind}; use crate::infer::{self, InferCtxt, TyCtxtInferExt}; -use rustc::mir::interpret::ErrorHandled; -use rustc::ty::error::ExpectedFound; -use rustc::ty::fast_reject; -use rustc::ty::fold::TypeFolder; -use rustc::ty::SubtypePredicate; -use rustc::ty::{ - self, AdtKind, ToPolyTraitRef, ToPredicate, Ty, TyCtxt, TypeFoldable, WithConstness, -}; use rustc_data_structures::fx::FxHashMap; use rustc_errors::{pluralize, struct_span_err, Applicability, DiagnosticBuilder}; use rustc_hir as hir; use rustc_hir::def_id::{DefId, LOCAL_CRATE}; use rustc_hir::{Node, QPath, TyKind, WhereBoundPredicate, WherePredicate}; +use rustc_middle::mir::interpret::ErrorHandled; +use rustc_middle::ty::error::ExpectedFound; +use rustc_middle::ty::fast_reject; +use rustc_middle::ty::fold::TypeFolder; +use rustc_middle::ty::SubtypePredicate; +use rustc_middle::ty::{ + self, AdtKind, ToPolyTraitRef, ToPredicate, Ty, TyCtxt, TypeFoldable, WithConstness, +}; use rustc_session::DiagnosticMessageId; use rustc_span::{BytePos, ExpnKind, Span, DUMMY_SP}; use std::fmt; diff --git a/src/librustc_trait_selection/traits/error_reporting/on_unimplemented.rs b/src/librustc_trait_selection/traits/error_reporting/on_unimplemented.rs index 18b2ca8983720..48a052c608f6f 100644 --- a/src/librustc_trait_selection/traits/error_reporting/on_unimplemented.rs +++ b/src/librustc_trait_selection/traits/error_reporting/on_unimplemented.rs @@ -2,10 +2,10 @@ use super::{ ObligationCauseCode, OnUnimplementedDirective, OnUnimplementedNote, PredicateObligation, }; use crate::infer::InferCtxt; -use rustc::ty::subst::Subst; -use rustc::ty::{self, GenericParamDefKind}; use rustc_hir as hir; use rustc_hir::def_id::DefId; +use rustc_middle::ty::subst::Subst; +use rustc_middle::ty::{self, GenericParamDefKind}; use rustc_span::symbol::sym; use super::InferCtxtPrivExt; diff --git a/src/librustc_trait_selection/traits/error_reporting/suggestions.rs b/src/librustc_trait_selection/traits/error_reporting/suggestions.rs index 3ac2117ec697e..6a352602e266a 100644 --- a/src/librustc_trait_selection/traits/error_reporting/suggestions.rs +++ b/src/librustc_trait_selection/traits/error_reporting/suggestions.rs @@ -5,14 +5,16 @@ use super::{ use crate::infer::InferCtxt; use crate::traits::error_reporting::suggest_constraining_type_param; -use rustc::ty::TypeckTables; -use rustc::ty::{self, AdtKind, DefIdTree, ToPredicate, Ty, TyCtxt, TypeFoldable, WithConstness}; use rustc_errors::{error_code, struct_span_err, Applicability, DiagnosticBuilder, Style}; use rustc_hir as hir; use rustc_hir::def::DefKind; use rustc_hir::def_id::DefId; use rustc_hir::intravisit::Visitor; use rustc_hir::Node; +use rustc_middle::ty::TypeckTables; +use rustc_middle::ty::{ + self, AdtKind, DefIdTree, ToPredicate, Ty, TyCtxt, TypeFoldable, WithConstness, +}; use rustc_span::symbol::{kw, sym}; use rustc_span::{MultiSpan, Span, DUMMY_SP}; use std::fmt; diff --git a/src/librustc_trait_selection/traits/fulfill.rs b/src/librustc_trait_selection/traits/fulfill.rs index 0578c00fefb17..09a33120ba7b6 100644 --- a/src/librustc_trait_selection/traits/fulfill.rs +++ b/src/librustc_trait_selection/traits/fulfill.rs @@ -1,10 +1,10 @@ use crate::infer::{InferCtxt, TyOrConstInferVar}; -use rustc::ty::error::ExpectedFound; -use rustc::ty::{self, ToPolyTraitRef, Ty, TypeFoldable}; use rustc_data_structures::obligation_forest::ProcessResult; use rustc_data_structures::obligation_forest::{DoCompleted, Error, ForestObligation}; use rustc_data_structures::obligation_forest::{ObligationForest, ObligationProcessor}; use rustc_infer::traits::{TraitEngine, TraitEngineExt as _}; +use rustc_middle::ty::error::ExpectedFound; +use rustc_middle::ty::{self, ToPolyTraitRef, Ty, TypeFoldable}; use std::marker::PhantomData; use super::project; diff --git a/src/librustc_trait_selection/traits/misc.rs b/src/librustc_trait_selection/traits/misc.rs index d500cff67c64b..7403b936391cc 100644 --- a/src/librustc_trait_selection/traits/misc.rs +++ b/src/librustc_trait_selection/traits/misc.rs @@ -3,9 +3,9 @@ use crate::infer::InferCtxtExt as _; use crate::traits::{self, ObligationCause}; -use rustc::ty::{self, Ty, TyCtxt, TypeFoldable}; use rustc_hir as hir; use rustc_infer::infer::TyCtxtInferExt; +use rustc_middle::ty::{self, Ty, TyCtxt, TypeFoldable}; use crate::traits::error_reporting::InferCtxtExt; diff --git a/src/librustc_trait_selection/traits/mod.rs b/src/librustc_trait_selection/traits/mod.rs index 43a90c4a6c164..3ef44a198417a 100644 --- a/src/librustc_trait_selection/traits/mod.rs +++ b/src/librustc_trait_selection/traits/mod.rs @@ -24,13 +24,13 @@ use crate::infer::outlives::env::OutlivesEnvironment; use crate::infer::{InferCtxt, RegionckMode, TyCtxtInferExt}; use crate::traits::error_reporting::InferCtxtExt as _; use crate::traits::query::evaluate_obligation::InferCtxtExt as _; -use rustc::middle::region; -use rustc::ty::fold::TypeFoldable; -use rustc::ty::subst::{InternalSubsts, SubstsRef}; -use rustc::ty::{self, GenericParamDefKind, ToPredicate, Ty, TyCtxt, WithConstness}; -use rustc::util::common::ErrorReported; use rustc_hir as hir; use rustc_hir::def_id::DefId; +use rustc_middle::middle::region; +use rustc_middle::ty::fold::TypeFoldable; +use rustc_middle::ty::subst::{InternalSubsts, SubstsRef}; +use rustc_middle::ty::{self, GenericParamDefKind, ToPredicate, Ty, TyCtxt, WithConstness}; +use rustc_middle::util::common::ErrorReported; use rustc_span::{Span, DUMMY_SP}; use std::fmt::Debug; diff --git a/src/librustc_trait_selection/traits/object_safety.rs b/src/librustc_trait_selection/traits/object_safety.rs index 7d4ad61902a92..3877c7f8a8c8e 100644 --- a/src/librustc_trait_selection/traits/object_safety.rs +++ b/src/librustc_trait_selection/traits/object_safety.rs @@ -13,11 +13,11 @@ use super::elaborate_predicates; use crate::infer::TyCtxtInferExt; use crate::traits::query::evaluate_obligation::InferCtxtExt; use crate::traits::{self, Obligation, ObligationCause}; -use rustc::ty::subst::{InternalSubsts, Subst}; -use rustc::ty::{self, Predicate, ToPredicate, Ty, TyCtxt, TypeFoldable, WithConstness}; use rustc_errors::{Applicability, FatalError}; use rustc_hir as hir; use rustc_hir::def_id::DefId; +use rustc_middle::ty::subst::{InternalSubsts, Subst}; +use rustc_middle::ty::{self, Predicate, ToPredicate, Ty, TyCtxt, TypeFoldable, WithConstness}; use rustc_session::lint::builtin::WHERE_CLAUSES_OBJECT_SAFETY; use rustc_span::symbol::Symbol; use rustc_span::Span; @@ -420,7 +420,7 @@ fn virtual_call_violation_for_method<'tcx>( } else { // Do sanity check to make sure the receiver actually has the layout of a pointer. - use rustc::ty::layout::Abi; + use rustc_middle::ty::layout::Abi; let param_env = tcx.param_env(method.def_id); diff --git a/src/librustc_trait_selection/traits/on_unimplemented.rs b/src/librustc_trait_selection/traits/on_unimplemented.rs index 19260293ee627..23c3bd46d2d80 100644 --- a/src/librustc_trait_selection/traits/on_unimplemented.rs +++ b/src/librustc_trait_selection/traits/on_unimplemented.rs @@ -1,7 +1,7 @@ use fmt_macros::{Parser, Piece, Position}; -use rustc::ty::{self, GenericParamDefKind, TyCtxt}; -use rustc::util::common::ErrorReported; +use rustc_middle::ty::{self, GenericParamDefKind, TyCtxt}; +use rustc_middle::util::common::ErrorReported; use rustc_ast::ast::{MetaItem, NestedMetaItem}; use rustc_attr as attr; diff --git a/src/librustc_trait_selection/traits/project.rs b/src/librustc_trait_selection/traits/project.rs index badd94a5ed934..2eb63b8f59030 100644 --- a/src/librustc_trait_selection/traits/project.rs +++ b/src/librustc_trait_selection/traits/project.rs @@ -17,16 +17,16 @@ use super::{VtableClosureData, VtableFnPointerData, VtableGeneratorData, VtableI use crate::infer::type_variable::{TypeVariableOrigin, TypeVariableOriginKind}; use crate::infer::{InferCtxt, InferOk, LateBoundRegionConversionTime}; use crate::traits::error_reporting::InferCtxtExt; -use rustc::ty::fold::{TypeFoldable, TypeFolder}; -use rustc::ty::subst::{InternalSubsts, Subst}; -use rustc::ty::{self, ToPolyTraitRef, ToPredicate, Ty, TyCtxt, WithConstness}; use rustc_ast::ast::Ident; use rustc_errors::ErrorReported; use rustc_hir::def_id::DefId; +use rustc_middle::ty::fold::{TypeFoldable, TypeFolder}; +use rustc_middle::ty::subst::{InternalSubsts, Subst}; +use rustc_middle::ty::{self, ToPolyTraitRef, ToPredicate, Ty, TyCtxt, WithConstness}; use rustc_span::symbol::sym; use rustc_span::DUMMY_SP; -pub use rustc::traits::Reveal; +pub use rustc_middle::traits::Reveal; pub type PolyProjectionObligation<'tcx> = Obligation<'tcx, ty::PolyProjectionPredicate<'tcx>>; @@ -1010,7 +1010,7 @@ fn assemble_candidates_from_impls<'cx, 'tcx>( // type. // // NOTE: This should be kept in sync with the similar code in - // `rustc::ty::instance::resolve_associated_item()`. + // `rustc_middle::ty::instance::resolve_associated_item()`. let node_item = assoc_ty_def(selcx, impl_data.impl_def_id, obligation.predicate.item_def_id) .map_err(|ErrorReported| ())?; diff --git a/src/librustc_trait_selection/traits/query/dropck_outlives.rs b/src/librustc_trait_selection/traits/query/dropck_outlives.rs index 03c6cf35e8881..64cc5fadeab0e 100644 --- a/src/librustc_trait_selection/traits/query/dropck_outlives.rs +++ b/src/librustc_trait_selection/traits/query/dropck_outlives.rs @@ -2,10 +2,10 @@ use crate::infer::at::At; use crate::infer::canonical::OriginalQueryValues; use crate::infer::InferOk; -use rustc::ty::subst::GenericArg; -use rustc::ty::{self, Ty, TyCtxt}; +use rustc_middle::ty::subst::GenericArg; +use rustc_middle::ty::{self, Ty, TyCtxt}; -pub use rustc::traits::query::{DropckOutlivesResult, DtorckConstraint}; +pub use rustc_middle::traits::query::{DropckOutlivesResult, DtorckConstraint}; pub trait AtExt<'tcx> { fn dropck_outlives(&self, ty: Ty<'tcx>) -> InferOk<'tcx, Vec>>; diff --git a/src/librustc_trait_selection/traits/query/method_autoderef.rs b/src/librustc_trait_selection/traits/query/method_autoderef.rs index 80748c5ef388e..3c0ebec933539 100644 --- a/src/librustc_trait_selection/traits/query/method_autoderef.rs +++ b/src/librustc_trait_selection/traits/query/method_autoderef.rs @@ -1 +1,3 @@ -pub use rustc::traits::query::{CandidateStep, MethodAutoderefBadTy, MethodAutoderefStepsResult}; +pub use rustc_middle::traits::query::{ + CandidateStep, MethodAutoderefBadTy, MethodAutoderefStepsResult, +}; diff --git a/src/librustc_trait_selection/traits/query/mod.rs b/src/librustc_trait_selection/traits/query/mod.rs index 77b5ec669a099..01f4f09e2381b 100644 --- a/src/librustc_trait_selection/traits/query/mod.rs +++ b/src/librustc_trait_selection/traits/query/mod.rs @@ -12,4 +12,4 @@ pub mod normalize; pub mod outlives_bounds; pub mod type_op; -pub use rustc::traits::query::*; +pub use rustc_middle::traits::query::*; diff --git a/src/librustc_trait_selection/traits/query/normalize.rs b/src/librustc_trait_selection/traits/query/normalize.rs index 77128bc8c8ab4..28d59b41e564f 100644 --- a/src/librustc_trait_selection/traits/query/normalize.rs +++ b/src/librustc_trait_selection/traits/query/normalize.rs @@ -7,14 +7,14 @@ use crate::infer::canonical::OriginalQueryValues; use crate::infer::{InferCtxt, InferOk}; use crate::traits::error_reporting::InferCtxtExt; use crate::traits::{Obligation, ObligationCause, PredicateObligation, Reveal}; -use rustc::ty::fold::{TypeFoldable, TypeFolder}; -use rustc::ty::subst::Subst; -use rustc::ty::{self, Ty, TyCtxt}; use rustc_infer::traits::Normalized; +use rustc_middle::ty::fold::{TypeFoldable, TypeFolder}; +use rustc_middle::ty::subst::Subst; +use rustc_middle::ty::{self, Ty, TyCtxt}; use super::NoSolution; -pub use rustc::traits::query::NormalizationResult; +pub use rustc_middle::traits::query::NormalizationResult; pub trait AtExt<'tcx> { fn normalize(&self, value: &T) -> Result, NoSolution> diff --git a/src/librustc_trait_selection/traits/query/outlives_bounds.rs b/src/librustc_trait_selection/traits/query/outlives_bounds.rs index 05c96dd520ab7..a42409515db1e 100644 --- a/src/librustc_trait_selection/traits/query/outlives_bounds.rs +++ b/src/librustc_trait_selection/traits/query/outlives_bounds.rs @@ -2,12 +2,12 @@ use crate::infer::canonical::OriginalQueryValues; use crate::infer::InferCtxt; use crate::traits::query::NoSolution; use crate::traits::{FulfillmentContext, ObligationCause, TraitEngine}; -use rustc::ty::{self, Ty}; use rustc_hir as hir; use rustc_infer::traits::TraitEngineExt as _; +use rustc_middle::ty::{self, Ty}; use rustc_span::source_map::Span; -pub use rustc::traits::query::OutlivesBound; +pub use rustc_middle::traits::query::OutlivesBound; pub trait InferCtxtExt<'tcx> { fn implied_outlives_bounds( diff --git a/src/librustc_trait_selection/traits/query/type_op/ascribe_user_type.rs b/src/librustc_trait_selection/traits/query/type_op/ascribe_user_type.rs index b14b79f090778..86b015767f0f8 100644 --- a/src/librustc_trait_selection/traits/query/type_op/ascribe_user_type.rs +++ b/src/librustc_trait_selection/traits/query/type_op/ascribe_user_type.rs @@ -1,8 +1,8 @@ use crate::infer::canonical::{Canonicalized, CanonicalizedQueryResponse}; use crate::traits::query::Fallible; -use rustc::ty::{ParamEnvAnd, TyCtxt}; +use rustc_middle::ty::{ParamEnvAnd, TyCtxt}; -pub use rustc::traits::query::type_op::AscribeUserType; +pub use rustc_middle::traits::query::type_op::AscribeUserType; impl<'tcx> super::QueryTypeOp<'tcx> for AscribeUserType<'tcx> { type QueryResponse = (); diff --git a/src/librustc_trait_selection/traits/query/type_op/eq.rs b/src/librustc_trait_selection/traits/query/type_op/eq.rs index 3b6fbc7d8dd72..490114aacd135 100644 --- a/src/librustc_trait_selection/traits/query/type_op/eq.rs +++ b/src/librustc_trait_selection/traits/query/type_op/eq.rs @@ -1,8 +1,8 @@ use crate::infer::canonical::{Canonicalized, CanonicalizedQueryResponse}; use crate::traits::query::Fallible; -use rustc::ty::{ParamEnvAnd, TyCtxt}; +use rustc_middle::ty::{ParamEnvAnd, TyCtxt}; -pub use rustc::traits::query::type_op::Eq; +pub use rustc_middle::traits::query::type_op::Eq; impl<'tcx> super::QueryTypeOp<'tcx> for Eq<'tcx> { type QueryResponse = (); diff --git a/src/librustc_trait_selection/traits/query/type_op/implied_outlives_bounds.rs b/src/librustc_trait_selection/traits/query/type_op/implied_outlives_bounds.rs index 3dad546872e5a..cf7f0a553c704 100644 --- a/src/librustc_trait_selection/traits/query/type_op/implied_outlives_bounds.rs +++ b/src/librustc_trait_selection/traits/query/type_op/implied_outlives_bounds.rs @@ -1,7 +1,7 @@ use crate::infer::canonical::{Canonicalized, CanonicalizedQueryResponse}; use crate::traits::query::outlives_bounds::OutlivesBound; use crate::traits::query::Fallible; -use rustc::ty::{ParamEnvAnd, Ty, TyCtxt}; +use rustc_middle::ty::{ParamEnvAnd, Ty, TyCtxt}; #[derive(Clone, Debug, HashStable, TypeFoldable, Lift)] pub struct ImpliedOutlivesBounds<'tcx> { diff --git a/src/librustc_trait_selection/traits/query/type_op/mod.rs b/src/librustc_trait_selection/traits/query/type_op/mod.rs index 1644746c16eb1..763cf12afa66f 100644 --- a/src/librustc_trait_selection/traits/query/type_op/mod.rs +++ b/src/librustc_trait_selection/traits/query/type_op/mod.rs @@ -4,8 +4,8 @@ use crate::infer::canonical::{ use crate::infer::{InferCtxt, InferOk}; use crate::traits::query::Fallible; use crate::traits::ObligationCause; -use rustc::ty::fold::TypeFoldable; -use rustc::ty::{ParamEnvAnd, TyCtxt}; +use rustc_middle::ty::fold::TypeFoldable; +use rustc_middle::ty::{ParamEnvAnd, TyCtxt}; use std::fmt; use std::rc::Rc; @@ -19,7 +19,7 @@ pub mod prove_predicate; use self::prove_predicate::ProvePredicate; pub mod subtype; -pub use rustc::traits::query::type_op::*; +pub use rustc_middle::traits::query::type_op::*; /// "Type ops" are used in NLL to perform some particular action and /// extract out the resulting region constraints (or an error if it diff --git a/src/librustc_trait_selection/traits/query/type_op/normalize.rs b/src/librustc_trait_selection/traits/query/type_op/normalize.rs index d2eec53bf80fe..729b66ac21c21 100644 --- a/src/librustc_trait_selection/traits/query/type_op/normalize.rs +++ b/src/librustc_trait_selection/traits/query/type_op/normalize.rs @@ -1,10 +1,10 @@ use crate::infer::canonical::{Canonicalized, CanonicalizedQueryResponse}; use crate::traits::query::Fallible; -use rustc::ty::fold::TypeFoldable; -use rustc::ty::{self, Lift, ParamEnvAnd, Ty, TyCtxt}; +use rustc_middle::ty::fold::TypeFoldable; +use rustc_middle::ty::{self, Lift, ParamEnvAnd, Ty, TyCtxt}; use std::fmt; -pub use rustc::traits::query::type_op::Normalize; +pub use rustc_middle::traits::query::type_op::Normalize; impl<'tcx, T> super::QueryTypeOp<'tcx> for Normalize where diff --git a/src/librustc_trait_selection/traits/query/type_op/outlives.rs b/src/librustc_trait_selection/traits/query/type_op/outlives.rs index b94948cffd68f..5a27e57860ecd 100644 --- a/src/librustc_trait_selection/traits/query/type_op/outlives.rs +++ b/src/librustc_trait_selection/traits/query/type_op/outlives.rs @@ -1,7 +1,7 @@ use crate::infer::canonical::{Canonicalized, CanonicalizedQueryResponse}; use crate::traits::query::dropck_outlives::{trivial_dropck_outlives, DropckOutlivesResult}; use crate::traits::query::Fallible; -use rustc::ty::{ParamEnvAnd, Ty, TyCtxt}; +use rustc_middle::ty::{ParamEnvAnd, Ty, TyCtxt}; #[derive(Copy, Clone, Debug, HashStable, TypeFoldable, Lift)] pub struct DropckOutlives<'tcx> { diff --git a/src/librustc_trait_selection/traits/query/type_op/prove_predicate.rs b/src/librustc_trait_selection/traits/query/type_op/prove_predicate.rs index 8c68f7db9e5bc..981745af80544 100644 --- a/src/librustc_trait_selection/traits/query/type_op/prove_predicate.rs +++ b/src/librustc_trait_selection/traits/query/type_op/prove_predicate.rs @@ -1,8 +1,8 @@ use crate::infer::canonical::{Canonicalized, CanonicalizedQueryResponse}; use crate::traits::query::Fallible; -use rustc::ty::{ParamEnvAnd, Predicate, TyCtxt}; +use rustc_middle::ty::{ParamEnvAnd, Predicate, TyCtxt}; -pub use rustc::traits::query::type_op::ProvePredicate; +pub use rustc_middle::traits::query::type_op::ProvePredicate; impl<'tcx> super::QueryTypeOp<'tcx> for ProvePredicate<'tcx> { type QueryResponse = (); diff --git a/src/librustc_trait_selection/traits/query/type_op/subtype.rs b/src/librustc_trait_selection/traits/query/type_op/subtype.rs index 053411b0cac2e..57290b6691410 100644 --- a/src/librustc_trait_selection/traits/query/type_op/subtype.rs +++ b/src/librustc_trait_selection/traits/query/type_op/subtype.rs @@ -1,8 +1,8 @@ use crate::infer::canonical::{Canonicalized, CanonicalizedQueryResponse}; use crate::traits::query::Fallible; -use rustc::ty::{ParamEnvAnd, TyCtxt}; +use rustc_middle::ty::{ParamEnvAnd, TyCtxt}; -pub use rustc::traits::query::type_op::Subtype; +pub use rustc_middle::traits::query::type_op::Subtype; impl<'tcx> super::QueryTypeOp<'tcx> for Subtype<'tcx> { type QueryResponse = (); diff --git a/src/librustc_trait_selection/traits/select.rs b/src/librustc_trait_selection/traits/select.rs index 2d6fabea6ec75..1e5a1edd4d8ee 100644 --- a/src/librustc_trait_selection/traits/select.rs +++ b/src/librustc_trait_selection/traits/select.rs @@ -35,17 +35,19 @@ use super::{ use crate::infer::{CombinedSnapshot, InferCtxt, InferOk, PlaceholderMap, TypeFreshener}; use crate::traits::error_reporting::InferCtxtExt; use crate::traits::project::ProjectionCacheKeyExt; -use rustc::dep_graph::{DepKind, DepNodeIndex}; -use rustc::middle::lang_items; -use rustc::ty::fast_reject; -use rustc::ty::relate::TypeRelation; -use rustc::ty::subst::{Subst, SubstsRef}; -use rustc::ty::{self, ToPolyTraitRef, ToPredicate, Ty, TyCtxt, TypeFoldable, WithConstness}; use rustc_ast::attr; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_hir as hir; use rustc_hir::def_id::DefId; use rustc_index::bit_set::GrowableBitSet; +use rustc_middle::dep_graph::{DepKind, DepNodeIndex}; +use rustc_middle::middle::lang_items; +use rustc_middle::ty::fast_reject; +use rustc_middle::ty::relate::TypeRelation; +use rustc_middle::ty::subst::{Subst, SubstsRef}; +use rustc_middle::ty::{ + self, ToPolyTraitRef, ToPredicate, Ty, TyCtxt, TypeFoldable, WithConstness, +}; use rustc_span::symbol::sym; use rustc_target::spec::abi::Abi; @@ -55,7 +57,7 @@ use std::fmt::{self, Display}; use std::iter; use std::rc::Rc; -pub use rustc::traits::select::*; +pub use rustc_middle::traits::select::*; pub struct SelectionContext<'cx, 'tcx> { infcx: &'cx InferCtxt<'cx, 'tcx>, diff --git a/src/librustc_trait_selection/traits/specialize/mod.rs b/src/librustc_trait_selection/traits/specialize/mod.rs index 732716ef86577..edf02d75ee60f 100644 --- a/src/librustc_trait_selection/traits/specialize/mod.rs +++ b/src/librustc_trait_selection/traits/specialize/mod.rs @@ -15,12 +15,12 @@ use specialization_graph::GraphExt; use crate::infer::{InferCtxt, InferOk, TyCtxtInferExt}; use crate::traits::select::IntercrateAmbiguityCause; use crate::traits::{self, coherence, FutureCompatOverlapErrorKind, ObligationCause, TraitEngine}; -use rustc::lint::LintDiagnosticBuilder; -use rustc::ty::subst::{InternalSubsts, Subst, SubstsRef}; -use rustc::ty::{self, TyCtxt, TypeFoldable}; use rustc_data_structures::fx::FxHashSet; use rustc_errors::struct_span_err; use rustc_hir::def_id::DefId; +use rustc_middle::lint::LintDiagnosticBuilder; +use rustc_middle::ty::subst::{InternalSubsts, Subst, SubstsRef}; +use rustc_middle::ty::{self, TyCtxt, TypeFoldable}; use rustc_session::lint::builtin::COHERENCE_LEAK_CHECK; use rustc_session::lint::builtin::ORDER_DEPENDENT_TRAIT_OBJECTS; use rustc_span::DUMMY_SP; diff --git a/src/librustc_trait_selection/traits/specialize/specialization_graph.rs b/src/librustc_trait_selection/traits/specialize/specialization_graph.rs index 17d4a22b9dd55..56b8354d68c05 100644 --- a/src/librustc_trait_selection/traits/specialize/specialization_graph.rs +++ b/src/librustc_trait_selection/traits/specialize/specialization_graph.rs @@ -1,11 +1,11 @@ use super::OverlapError; use crate::traits; -use rustc::ty::fast_reject::{self, SimplifiedType}; -use rustc::ty::{self, TyCtxt, TypeFoldable}; use rustc_hir::def_id::DefId; +use rustc_middle::ty::fast_reject::{self, SimplifiedType}; +use rustc_middle::ty::{self, TyCtxt, TypeFoldable}; -pub use rustc::traits::specialization_graph::*; +pub use rustc_middle::traits::specialization_graph::*; #[derive(Copy, Clone, Debug)] pub enum FutureCompatOverlapErrorKind { diff --git a/src/librustc_trait_selection/traits/structural_match.rs b/src/librustc_trait_selection/traits/structural_match.rs index 42c9c246078b3..fbe1fcb08f2ef 100644 --- a/src/librustc_trait_selection/traits/structural_match.rs +++ b/src/librustc_trait_selection/traits/structural_match.rs @@ -2,9 +2,9 @@ use crate::infer::{InferCtxt, TyCtxtInferExt}; use crate::traits::ObligationCause; use crate::traits::{self, ConstPatternStructural, TraitEngine}; -use rustc::ty::{self, AdtDef, Ty, TyCtxt, TypeFoldable, TypeVisitor}; use rustc_data_structures::fx::FxHashSet; use rustc_hir as hir; +use rustc_middle::ty::{self, AdtDef, Ty, TyCtxt, TypeFoldable, TypeVisitor}; use rustc_span::Span; #[derive(Debug)] diff --git a/src/librustc_trait_selection/traits/util.rs b/src/librustc_trait_selection/traits/util.rs index cd4595e76ccec..6eeac2f676c09 100644 --- a/src/librustc_trait_selection/traits/util.rs +++ b/src/librustc_trait_selection/traits/util.rs @@ -3,12 +3,12 @@ use rustc_span::Span; use smallvec::smallvec; use smallvec::SmallVec; -use rustc::ty::outlives::Component; -use rustc::ty::subst::{GenericArg, Subst, SubstsRef}; -use rustc::ty::{self, ToPolyTraitRef, ToPredicate, Ty, TyCtxt, WithConstness}; use rustc_data_structures::fx::FxHashSet; use rustc_hir as hir; use rustc_hir::def_id::DefId; +use rustc_middle::ty::outlives::Component; +use rustc_middle::ty::subst::{GenericArg, Subst, SubstsRef}; +use rustc_middle::ty::{self, ToPolyTraitRef, ToPredicate, Ty, TyCtxt, WithConstness}; use super::{Normalized, Obligation, ObligationCause, PredicateObligation, SelectionContext}; diff --git a/src/librustc_trait_selection/traits/wf.rs b/src/librustc_trait_selection/traits/wf.rs index aa129d2b81c53..ede6fa015fccf 100644 --- a/src/librustc_trait_selection/traits/wf.rs +++ b/src/librustc_trait_selection/traits/wf.rs @@ -1,11 +1,11 @@ use crate::infer::InferCtxt; use crate::opaque_types::required_region_bounds; use crate::traits::{self, AssocTypeBoundData}; -use rustc::middle::lang_items; -use rustc::ty::subst::SubstsRef; -use rustc::ty::{self, ToPredicate, Ty, TyCtxt, TypeFoldable, WithConstness}; use rustc_hir as hir; use rustc_hir::def_id::DefId; +use rustc_middle::middle::lang_items; +use rustc_middle::ty::subst::SubstsRef; +use rustc_middle::ty::{self, ToPredicate, Ty, TyCtxt, TypeFoldable, WithConstness}; use rustc_span::symbol::{kw, Ident}; use rustc_span::Span; diff --git a/src/librustc_traits/Cargo.toml b/src/librustc_traits/Cargo.toml index 5e33efb1cf9b5..432004c104938 100644 --- a/src/librustc_traits/Cargo.toml +++ b/src/librustc_traits/Cargo.toml @@ -10,7 +10,7 @@ path = "lib.rs" [dependencies] log = { version = "0.4" } -rustc = { path = "../librustc" } +rustc_middle = { path = "../librustc_middle" } rustc_data_structures = { path = "../librustc_data_structures" } rustc_hir = { path = "../librustc_hir" } rustc_macros = { path = "../librustc_macros" } diff --git a/src/librustc_traits/dropck_outlives.rs b/src/librustc_traits/dropck_outlives.rs index 7068723f534e7..93b15e146ec10 100644 --- a/src/librustc_traits/dropck_outlives.rs +++ b/src/librustc_traits/dropck_outlives.rs @@ -1,11 +1,11 @@ -use rustc::ty::query::Providers; -use rustc::ty::subst::{InternalSubsts, Subst}; -use rustc::ty::{self, ParamEnvAnd, Ty, TyCtxt}; use rustc_data_structures::fx::FxHashSet; use rustc_hir::def_id::DefId; use rustc_infer::infer::canonical::{Canonical, QueryResponse}; use rustc_infer::infer::TyCtxtInferExt; use rustc_infer::traits::TraitEngineExt as _; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::subst::{InternalSubsts, Subst}; +use rustc_middle::ty::{self, ParamEnvAnd, Ty, TyCtxt}; use rustc_span::source_map::{Span, DUMMY_SP}; use rustc_trait_selection::traits::query::dropck_outlives::trivial_dropck_outlives; use rustc_trait_selection::traits::query::dropck_outlives::{ diff --git a/src/librustc_traits/evaluate_obligation.rs b/src/librustc_traits/evaluate_obligation.rs index 87895d8e384da..e6afc15fa15fe 100644 --- a/src/librustc_traits/evaluate_obligation.rs +++ b/src/librustc_traits/evaluate_obligation.rs @@ -1,6 +1,6 @@ -use rustc::ty::query::Providers; -use rustc::ty::{ParamEnvAnd, TyCtxt}; use rustc_infer::infer::TyCtxtInferExt; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::{ParamEnvAnd, TyCtxt}; use rustc_span::source_map::DUMMY_SP; use rustc_trait_selection::traits::query::CanonicalPredicateGoal; use rustc_trait_selection::traits::{ diff --git a/src/librustc_traits/implied_outlives_bounds.rs b/src/librustc_traits/implied_outlives_bounds.rs index 4505a1e59d9ba..0f432245ff7db 100644 --- a/src/librustc_traits/implied_outlives_bounds.rs +++ b/src/librustc_traits/implied_outlives_bounds.rs @@ -1,13 +1,13 @@ //! Provider for the `implied_outlives_bounds` query. -//! Do not call this query directory. See [`rustc::traits::query::implied_outlives_bounds`]. +//! Do not call this query directory. See [`rustc_middle::traits::query::implied_outlives_bounds`]. -use rustc::ty::outlives::Component; -use rustc::ty::query::Providers; -use rustc::ty::{self, Ty, TyCtxt, TypeFoldable}; use rustc_hir as hir; use rustc_infer::infer::canonical::{self, Canonical}; use rustc_infer::infer::{InferCtxt, TyCtxtInferExt}; use rustc_infer::traits::TraitEngineExt as _; +use rustc_middle::ty::outlives::Component; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::{self, Ty, TyCtxt, TypeFoldable}; use rustc_span::source_map::DUMMY_SP; use rustc_trait_selection::infer::InferCtxtBuilderExt; use rustc_trait_selection::traits::query::outlives_bounds::OutlivesBound; diff --git a/src/librustc_traits/lib.rs b/src/librustc_traits/lib.rs index 894e3ef3a8f83..49953e65c9a82 100644 --- a/src/librustc_traits/lib.rs +++ b/src/librustc_traits/lib.rs @@ -9,7 +9,7 @@ #[macro_use] extern crate log; #[macro_use] -extern crate rustc; +extern crate rustc_middle; mod dropck_outlives; mod evaluate_obligation; @@ -19,7 +19,7 @@ mod normalize_erasing_regions; mod normalize_projection_ty; mod type_op; -use rustc::ty::query::Providers; +use rustc_middle::ty::query::Providers; pub fn provide(p: &mut Providers<'_>) { dropck_outlives::provide(p); diff --git a/src/librustc_traits/lowering/environment.rs b/src/librustc_traits/lowering/environment.rs index ed6259d457361..28d5d25dd1ba2 100644 --- a/src/librustc_traits/lowering/environment.rs +++ b/src/librustc_traits/lowering/environment.rs @@ -1,9 +1,9 @@ -use rustc::traits::{ - Clause, Clauses, DomainGoal, Environment, FromEnv, ProgramClause, ProgramClauseCategory, -}; -use rustc::ty::{self, Ty, TyCtxt}; use rustc_data_structures::fx::FxHashSet; use rustc_hir::def_id::DefId; +use rustc_middle::traits::{ + Clause, Clauses, DomainGoal, Environment, FromEnv, ProgramClause, ProgramClauseCategory, +}; +use rustc_middle::ty::{self, Ty, TyCtxt}; struct ClauseVisitor<'a, 'tcx> { tcx: TyCtxt<'tcx>, diff --git a/src/librustc_traits/lowering/mod.rs b/src/librustc_traits/lowering/mod.rs index e3f9bd78073e9..6cbd505f37ef1 100644 --- a/src/librustc_traits/lowering/mod.rs +++ b/src/librustc_traits/lowering/mod.rs @@ -1,19 +1,19 @@ mod environment; -use rustc::hir::map::Map; -use rustc::traits::{ - Clause, Clauses, DomainGoal, FromEnv, GoalKind, PolyDomainGoal, ProgramClause, - ProgramClauseCategory, WellFormed, WhereClause, -}; -use rustc::ty::query::Providers; -use rustc::ty::subst::{InternalSubsts, Subst}; -use rustc::ty::{self, List, TyCtxt}; use rustc_ast::ast; use rustc_hir as hir; use rustc_hir::def::DefKind; use rustc_hir::def_id::DefId; use rustc_hir::definitions::DefPathData; use rustc_hir::intravisit::{self, NestedVisitorMap, Visitor}; +use rustc_middle::hir::map::Map; +use rustc_middle::traits::{ + Clause, Clauses, DomainGoal, FromEnv, GoalKind, PolyDomainGoal, ProgramClause, + ProgramClauseCategory, WellFormed, WhereClause, +}; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::subst::{InternalSubsts, Subst}; +use rustc_middle::ty::{self, List, TyCtxt}; use rustc_span::symbol::sym; use std::iter; @@ -91,7 +91,7 @@ where impl<'tcx> Lower> for ty::Predicate<'tcx> { fn lower(&self) -> PolyDomainGoal<'tcx> { - use rustc::ty::Predicate; + use rustc_middle::ty::Predicate; match self { Predicate::Trait(predicate, _) => predicate.lower(), diff --git a/src/librustc_traits/normalize_erasing_regions.rs b/src/librustc_traits/normalize_erasing_regions.rs index 065cf38eb2490..ad6c753edff00 100644 --- a/src/librustc_traits/normalize_erasing_regions.rs +++ b/src/librustc_traits/normalize_erasing_regions.rs @@ -1,8 +1,8 @@ -use rustc::traits::query::NoSolution; -use rustc::ty::query::Providers; -use rustc::ty::subst::GenericArg; -use rustc::ty::{self, ParamEnvAnd, TyCtxt}; use rustc_infer::infer::TyCtxtInferExt; +use rustc_middle::traits::query::NoSolution; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::subst::GenericArg; +use rustc_middle::ty::{self, ParamEnvAnd, TyCtxt}; use rustc_trait_selection::traits::query::normalize::AtExt; use rustc_trait_selection::traits::{Normalized, ObligationCause}; use std::sync::atomic::Ordering; diff --git a/src/librustc_traits/normalize_projection_ty.rs b/src/librustc_traits/normalize_projection_ty.rs index 57abff769de9b..11c97b03c44c3 100644 --- a/src/librustc_traits/normalize_projection_ty.rs +++ b/src/librustc_traits/normalize_projection_ty.rs @@ -1,9 +1,9 @@ -use rustc::ty::query::Providers; -use rustc::ty::{ParamEnvAnd, TyCtxt}; use rustc_hir as hir; use rustc_infer::infer::canonical::{Canonical, QueryResponse}; use rustc_infer::infer::TyCtxtInferExt; use rustc_infer::traits::TraitEngineExt as _; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::{ParamEnvAnd, TyCtxt}; use rustc_span::DUMMY_SP; use rustc_trait_selection::infer::InferCtxtBuilderExt; use rustc_trait_selection::traits::query::{ diff --git a/src/librustc_traits/type_op.rs b/src/librustc_traits/type_op.rs index 7ed828c91679c..aeb31c2cb7367 100644 --- a/src/librustc_traits/type_op.rs +++ b/src/librustc_traits/type_op.rs @@ -1,14 +1,14 @@ -use rustc::ty::query::Providers; -use rustc::ty::subst::{GenericArg, Subst, UserSelfTy, UserSubsts}; -use rustc::ty::{ - FnSig, Lift, ParamEnv, ParamEnvAnd, PolyFnSig, Predicate, Ty, TyCtxt, TypeFoldable, Variance, -}; use rustc_hir as hir; use rustc_hir::def_id::DefId; use rustc_infer::infer::at::ToTrace; use rustc_infer::infer::canonical::{Canonical, QueryResponse}; use rustc_infer::infer::{InferCtxt, TyCtxtInferExt}; use rustc_infer::traits::TraitEngineExt as _; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::subst::{GenericArg, Subst, UserSelfTy, UserSubsts}; +use rustc_middle::ty::{ + FnSig, Lift, ParamEnv, ParamEnvAnd, PolyFnSig, Predicate, Ty, TyCtxt, TypeFoldable, Variance, +}; use rustc_span::DUMMY_SP; use rustc_trait_selection::infer::InferCtxtBuilderExt; use rustc_trait_selection::infer::InferCtxtExt; diff --git a/src/librustc_ty/Cargo.toml b/src/librustc_ty/Cargo.toml index cf0b4b82eea72..37d1ed38d79cc 100644 --- a/src/librustc_ty/Cargo.toml +++ b/src/librustc_ty/Cargo.toml @@ -10,7 +10,7 @@ path = "lib.rs" [dependencies] log = "0.4" -rustc = { path = "../librustc" } +rustc_middle = { path = "../librustc_middle" } rustc_data_structures = { path = "../librustc_data_structures" } rustc_hir = { path = "../librustc_hir" } rustc_infer = { path = "../librustc_infer" } diff --git a/src/librustc_ty/common_traits.rs b/src/librustc_ty/common_traits.rs index 311ba383f3055..597bc8546045d 100644 --- a/src/librustc_ty/common_traits.rs +++ b/src/librustc_ty/common_traits.rs @@ -1,8 +1,8 @@ //! Queries for checking whether a type implements one of a few common traits. -use rustc::middle::lang_items; -use rustc::ty::{self, Ty, TyCtxt}; use rustc_infer::infer::TyCtxtInferExt; +use rustc_middle::middle::lang_items; +use rustc_middle::ty::{self, Ty, TyCtxt}; use rustc_span::DUMMY_SP; use rustc_trait_selection::traits; diff --git a/src/librustc_ty/instance.rs b/src/librustc_ty/instance.rs index a5abe7b6413cc..447c49e40fb5a 100644 --- a/src/librustc_ty/instance.rs +++ b/src/librustc_ty/instance.rs @@ -1,6 +1,6 @@ -use rustc::ty::subst::SubstsRef; -use rustc::ty::{self, Instance, TyCtxt, TypeFoldable}; use rustc_hir::def_id::DefId; +use rustc_middle::ty::subst::SubstsRef; +use rustc_middle::ty::{self, Instance, TyCtxt, TypeFoldable}; use rustc_span::sym; use rustc_target::spec::abi::Abi; use rustc_trait_selection::traits; @@ -90,7 +90,7 @@ fn resolve_associated_item<'tcx>( // Since this is a trait item, we need to see if the item is either a trait default item // or a specialization because we can't resolve those unless we can `Reveal::All`. // NOTE: This should be kept in sync with the similar code in - // `rustc::traits::project::assemble_candidates_from_impls()`. + // `rustc_middle::traits::project::assemble_candidates_from_impls()`. let eligible = if !resolved_item.defaultness.is_default() { true } else if param_env.reveal == traits::Reveal::All { diff --git a/src/librustc_ty/lib.rs b/src/librustc_ty/lib.rs index f9ee4e20d2721..04909b8b0c1b4 100644 --- a/src/librustc_ty/lib.rs +++ b/src/librustc_ty/lib.rs @@ -10,11 +10,11 @@ #![recursion_limit = "256"] #[macro_use] -extern crate rustc; +extern crate rustc_middle; #[macro_use] extern crate log; -use rustc::ty::query::Providers; +use rustc_middle::ty::query::Providers; mod common_traits; pub mod instance; diff --git a/src/librustc_ty/needs_drop.rs b/src/librustc_ty/needs_drop.rs index 37af8168f87d9..6b0104e164bca 100644 --- a/src/librustc_ty/needs_drop.rs +++ b/src/librustc_ty/needs_drop.rs @@ -1,10 +1,10 @@ //! Check whether a type has (potentially) non-trivial drop glue. -use rustc::ty::subst::Subst; -use rustc::ty::util::{needs_drop_components, AlwaysRequiresDrop}; -use rustc::ty::{self, Ty, TyCtxt}; use rustc_data_structures::fx::FxHashSet; use rustc_hir::def_id::DefId; +use rustc_middle::ty::subst::Subst; +use rustc_middle::ty::util::{needs_drop_components, AlwaysRequiresDrop}; +use rustc_middle::ty::{self, Ty, TyCtxt}; use rustc_span::DUMMY_SP; type NeedsDropResult = Result; diff --git a/src/librustc_ty/ty.rs b/src/librustc_ty/ty.rs index 4b522997537b7..9d28447e212a6 100644 --- a/src/librustc_ty/ty.rs +++ b/src/librustc_ty/ty.rs @@ -1,9 +1,9 @@ -use rustc::hir::map as hir_map; -use rustc::ty::subst::Subst; -use rustc::ty::{self, ToPredicate, Ty, TyCtxt, WithConstness}; use rustc_data_structures::svh::Svh; use rustc_hir as hir; use rustc_hir::def_id::{CrateNum, DefId, LOCAL_CRATE}; +use rustc_middle::hir::map as hir_map; +use rustc_middle::ty::subst::Subst; +use rustc_middle::ty::{self, ToPredicate, Ty, TyCtxt, WithConstness}; use rustc_session::CrateDisambiguator; use rustc_span::symbol::Symbol; use rustc_span::Span; diff --git a/src/librustc_typeck/Cargo.toml b/src/librustc_typeck/Cargo.toml index e61a36f844f87..8aaa29bc582fc 100644 --- a/src/librustc_typeck/Cargo.toml +++ b/src/librustc_typeck/Cargo.toml @@ -13,7 +13,7 @@ doctest = false [dependencies] arena = { path = "../libarena" } log = "0.4" -rustc = { path = "../librustc" } +rustc_middle = { path = "../librustc_middle" } rustc_attr = { path = "../librustc_attr" } rustc_data_structures = { path = "../librustc_data_structures" } rustc_errors = { path = "../librustc_errors" } diff --git a/src/librustc_typeck/astconv.rs b/src/librustc_typeck/astconv.rs index 5f444a5fd2dec..aca5624d55c96 100644 --- a/src/librustc_typeck/astconv.rs +++ b/src/librustc_typeck/astconv.rs @@ -10,9 +10,6 @@ use crate::middle::lang_items::SizedTraitLangItem; use crate::middle::resolve_lifetime as rl; use crate::require_c_abi_if_c_variadic; use crate::util::common::ErrorReported; -use rustc::ty::subst::{self, InternalSubsts, Subst, SubstsRef}; -use rustc::ty::{self, Const, DefIdTree, ToPredicate, Ty, TyCtxt, TypeFoldable, WithConstness}; -use rustc::ty::{GenericParamDef, GenericParamDefKind}; use rustc_ast::ast; use rustc_ast::util::lev_distance::find_best_match_for_name; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; @@ -22,6 +19,11 @@ use rustc_hir::def::{CtorOf, DefKind, Namespace, Res}; use rustc_hir::def_id::DefId; use rustc_hir::intravisit::{walk_generics, Visitor as _}; use rustc_hir::{Constness, GenericArg, GenericArgs}; +use rustc_middle::ty::subst::{self, InternalSubsts, Subst, SubstsRef}; +use rustc_middle::ty::{ + self, Const, DefIdTree, ToPredicate, Ty, TyCtxt, TypeFoldable, WithConstness, +}; +use rustc_middle::ty::{GenericParamDef, GenericParamDefKind}; use rustc_session::lint::builtin::{AMBIGUOUS_ASSOCIATED_ITEMS, LATE_BOUND_LIFETIME_ARGUMENTS}; use rustc_session::parse::feature_err; use rustc_session::Session; diff --git a/src/librustc_typeck/check/_match.rs b/src/librustc_typeck/check/_match.rs index b44bab2675d37..16af168ce1af9 100644 --- a/src/librustc_typeck/check/_match.rs +++ b/src/librustc_typeck/check/_match.rs @@ -1,9 +1,9 @@ use crate::check::coercion::CoerceMany; use crate::check::{Diverges, Expectation, FnCtxt, Needs}; -use rustc::ty::Ty; use rustc_hir as hir; use rustc_hir::ExprKind; use rustc_infer::infer::type_variable::{TypeVariableOrigin, TypeVariableOriginKind}; +use rustc_middle::ty::Ty; use rustc_span::Span; use rustc_trait_selection::traits::ObligationCauseCode; use rustc_trait_selection::traits::{IfExpressionCause, MatchExpressionArmCause, ObligationCause}; diff --git a/src/librustc_typeck/check/autoderef.rs b/src/librustc_typeck/check/autoderef.rs index 2315b42aec54c..0dab172230ef1 100644 --- a/src/librustc_typeck/check/autoderef.rs +++ b/src/librustc_typeck/check/autoderef.rs @@ -1,13 +1,13 @@ use super::method::MethodCallee; use super::{FnCtxt, Needs, PlaceOp}; -use rustc::ty::adjustment::{Adjust, Adjustment, OverloadedDeref}; -use rustc::ty::{self, TraitRef, Ty, TyCtxt, WithConstness}; -use rustc::ty::{ToPredicate, TypeFoldable}; use rustc_ast::ast::Ident; use rustc_errors::struct_span_err; use rustc_hir as hir; use rustc_infer::infer::{InferCtxt, InferOk}; +use rustc_middle::ty::adjustment::{Adjust, Adjustment, OverloadedDeref}; +use rustc_middle::ty::{self, TraitRef, Ty, TyCtxt, WithConstness}; +use rustc_middle::ty::{ToPredicate, TypeFoldable}; use rustc_session::DiagnosticMessageId; use rustc_span::Span; use rustc_trait_selection::traits::query::evaluate_obligation::InferCtxtExt; diff --git a/src/librustc_typeck/check/callee.rs b/src/librustc_typeck/check/callee.rs index 074951684ef06..0d254412203aa 100644 --- a/src/librustc_typeck/check/callee.rs +++ b/src/librustc_typeck/check/callee.rs @@ -3,9 +3,6 @@ use super::method::MethodCallee; use super::{Expectation, FnCtxt, Needs, TupleArgumentsFlag}; use crate::type_error_struct; -use rustc::ty::adjustment::{Adjust, Adjustment, AllowTwoPhase, AutoBorrow, AutoBorrowMutability}; -use rustc::ty::subst::SubstsRef; -use rustc::ty::{self, Ty, TyCtxt, TypeFoldable}; use rustc_ast::ast::Ident; use rustc_errors::{struct_span_err, Applicability, DiagnosticBuilder}; use rustc_hir as hir; @@ -13,6 +10,11 @@ use rustc_hir::def::Res; use rustc_hir::def_id::{DefId, LOCAL_CRATE}; use rustc_infer::infer::type_variable::{TypeVariableOrigin, TypeVariableOriginKind}; use rustc_infer::{infer, traits}; +use rustc_middle::ty::adjustment::{ + Adjust, Adjustment, AllowTwoPhase, AutoBorrow, AutoBorrowMutability, +}; +use rustc_middle::ty::subst::SubstsRef; +use rustc_middle::ty::{self, Ty, TyCtxt, TypeFoldable}; use rustc_span::Span; use rustc_target::spec::abi; diff --git a/src/librustc_typeck/check/cast.rs b/src/librustc_typeck/check/cast.rs index 2875d38a996a0..7f1631a620499 100644 --- a/src/librustc_typeck/check/cast.rs +++ b/src/librustc_typeck/check/cast.rs @@ -33,15 +33,15 @@ use super::FnCtxt; use crate::hir::def_id::DefId; use crate::type_error_struct; use crate::util::common::ErrorReported; -use rustc::middle::lang_items; -use rustc::ty::adjustment::AllowTwoPhase; -use rustc::ty::cast::{CastKind, CastTy}; -use rustc::ty::error::TypeError; -use rustc::ty::subst::SubstsRef; -use rustc::ty::{self, Ty, TypeAndMut, TypeFoldable}; use rustc_ast::ast; use rustc_errors::{struct_span_err, Applicability, DiagnosticBuilder}; use rustc_hir as hir; +use rustc_middle::middle::lang_items; +use rustc_middle::ty::adjustment::AllowTwoPhase; +use rustc_middle::ty::cast::{CastKind, CastTy}; +use rustc_middle::ty::error::TypeError; +use rustc_middle::ty::subst::SubstsRef; +use rustc_middle::ty::{self, Ty, TypeAndMut, TypeFoldable}; use rustc_session::lint; use rustc_session::Session; use rustc_span::Span; @@ -526,8 +526,8 @@ impl<'a, 'tcx> CastCheck<'tcx> { /// can return Ok and create type errors in the fcx rather than returning /// directly. coercion-cast is handled in check instead of here. fn do_check(&self, fcx: &FnCtxt<'a, 'tcx>) -> Result { - use rustc::ty::cast::CastTy::*; - use rustc::ty::cast::IntTy::*; + use rustc_middle::ty::cast::CastTy::*; + use rustc_middle::ty::cast::IntTy::*; let (t_from, t_cast) = match (CastTy::from_ty(self.expr_ty), CastTy::from_ty(self.cast_ty)) { diff --git a/src/librustc_typeck/check/closure.rs b/src/librustc_typeck/check/closure.rs index a277220b1a200..415b5103104a1 100644 --- a/src/librustc_typeck/check/closure.rs +++ b/src/librustc_typeck/check/closure.rs @@ -4,14 +4,14 @@ use super::{check_fn, Expectation, FnCtxt, GeneratorTypes}; use crate::astconv::AstConv; use crate::middle::{lang_items, region}; -use rustc::ty::fold::TypeFoldable; -use rustc::ty::subst::InternalSubsts; -use rustc::ty::{self, GenericParamDefKind, Ty}; use rustc_hir as hir; use rustc_hir::def_id::DefId; use rustc_infer::infer::type_variable::{TypeVariableOrigin, TypeVariableOriginKind}; use rustc_infer::infer::LateBoundRegionConversionTime; use rustc_infer::infer::{InferOk, InferResult}; +use rustc_middle::ty::fold::TypeFoldable; +use rustc_middle::ty::subst::InternalSubsts; +use rustc_middle::ty::{self, GenericParamDefKind, Ty}; use rustc_span::source_map::Span; use rustc_target::spec::abi::Abi; use rustc_trait_selection::traits::error_reporting::ArgKind; diff --git a/src/librustc_typeck/check/coercion.rs b/src/librustc_typeck/check/coercion.rs index 2dc2a48ecbce8..5a97a2af120d0 100644 --- a/src/librustc_typeck/check/coercion.rs +++ b/src/librustc_typeck/check/coercion.rs @@ -52,18 +52,18 @@ use crate::astconv::AstConv; use crate::check::{FnCtxt, Needs}; -use rustc::ty::adjustment::{ - Adjust, Adjustment, AllowTwoPhase, AutoBorrow, AutoBorrowMutability, PointerCast, -}; -use rustc::ty::error::TypeError; -use rustc::ty::fold::TypeFoldable; -use rustc::ty::relate::RelateResult; -use rustc::ty::subst::SubstsRef; -use rustc::ty::{self, Ty, TypeAndMut}; use rustc_errors::{struct_span_err, DiagnosticBuilder}; use rustc_hir as hir; use rustc_infer::infer::type_variable::{TypeVariableOrigin, TypeVariableOriginKind}; use rustc_infer::infer::{Coercion, InferOk, InferResult}; +use rustc_middle::ty::adjustment::{ + Adjust, Adjustment, AllowTwoPhase, AutoBorrow, AutoBorrowMutability, PointerCast, +}; +use rustc_middle::ty::error::TypeError; +use rustc_middle::ty::fold::TypeFoldable; +use rustc_middle::ty::relate::RelateResult; +use rustc_middle::ty::subst::SubstsRef; +use rustc_middle::ty::{self, Ty, TypeAndMut}; use rustc_session::parse::feature_err; use rustc_span::symbol::sym; use rustc_span::{self, Span}; diff --git a/src/librustc_typeck/check/compare_method.rs b/src/librustc_typeck/check/compare_method.rs index 412f687b43ec6..9e45793fcdc72 100644 --- a/src/librustc_typeck/check/compare_method.rs +++ b/src/librustc_typeck/check/compare_method.rs @@ -1,14 +1,14 @@ -use rustc::ty::error::{ExpectedFound, TypeError}; -use rustc::ty::subst::{InternalSubsts, Subst}; -use rustc::ty::util::ExplicitSelf; -use rustc::ty::{self, GenericParamDefKind, TyCtxt}; -use rustc::util::common::ErrorReported; use rustc_errors::{pluralize, struct_span_err, Applicability, DiagnosticId}; use rustc_hir as hir; use rustc_hir::def::{DefKind, Res}; use rustc_hir::intravisit; use rustc_hir::{GenericParamKind, ImplItemKind, TraitItemKind}; use rustc_infer::infer::{self, InferOk, TyCtxtInferExt}; +use rustc_middle::ty::error::{ExpectedFound, TypeError}; +use rustc_middle::ty::subst::{InternalSubsts, Subst}; +use rustc_middle::ty::util::ExplicitSelf; +use rustc_middle::ty::{self, GenericParamDefKind, TyCtxt}; +use rustc_middle::util::common::ErrorReported; use rustc_span::Span; use rustc_trait_selection::traits::error_reporting::InferCtxtExt; use rustc_trait_selection::traits::{self, ObligationCause, ObligationCauseCode, Reveal}; diff --git a/src/librustc_typeck/check/demand.rs b/src/librustc_typeck/check/demand.rs index f7ffb5a2218ba..369bb183bcd73 100644 --- a/src/librustc_typeck/check/demand.rs +++ b/src/librustc_typeck/check/demand.rs @@ -4,12 +4,12 @@ use rustc_trait_selection::infer::InferCtxtExt as _; use rustc_trait_selection::traits::query::evaluate_obligation::InferCtxtExt as _; use rustc_trait_selection::traits::{self, ObligationCause}; -use rustc::ty::adjustment::AllowTwoPhase; -use rustc::ty::{self, AssocItem, Ty}; use rustc_ast::util::parser::PREC_POSTFIX; use rustc_errors::{Applicability, DiagnosticBuilder}; use rustc_hir as hir; use rustc_hir::{is_range_literal, Node}; +use rustc_middle::ty::adjustment::AllowTwoPhase; +use rustc_middle::ty::{self, AssocItem, Ty}; use rustc_span::symbol::sym; use rustc_span::Span; diff --git a/src/librustc_typeck/check/dropck.rs b/src/librustc_typeck/check/dropck.rs index e48ebbbb23514..a44a607a70335 100644 --- a/src/librustc_typeck/check/dropck.rs +++ b/src/librustc_typeck/check/dropck.rs @@ -2,15 +2,15 @@ use crate::check::regionck::RegionCtxt; use crate::hir; use crate::hir::def_id::DefId; use crate::util::common::ErrorReported; -use rustc::middle::region; -use rustc::ty::error::TypeError; -use rustc::ty::relate::{Relate, RelateResult, TypeRelation}; -use rustc::ty::subst::{Subst, SubstsRef}; -use rustc::ty::{self, Predicate, Ty, TyCtxt}; use rustc_errors::struct_span_err; use rustc_infer::infer::outlives::env::OutlivesEnvironment; use rustc_infer::infer::{InferOk, RegionckMode, TyCtxtInferExt}; use rustc_infer::traits::TraitEngineExt as _; +use rustc_middle::middle::region; +use rustc_middle::ty::error::TypeError; +use rustc_middle::ty::relate::{Relate, RelateResult, TypeRelation}; +use rustc_middle::ty::subst::{Subst, SubstsRef}; +use rustc_middle::ty::{self, Predicate, Ty, TyCtxt}; use rustc_span::Span; use rustc_trait_selection::traits::error_reporting::InferCtxtExt; use rustc_trait_selection::traits::query::dropck_outlives::AtExt; diff --git a/src/librustc_typeck/check/expr.rs b/src/librustc_typeck/check/expr.rs index 8cd6f7b8c88a8..bfcb6fe35fe75 100644 --- a/src/librustc_typeck/check/expr.rs +++ b/src/librustc_typeck/check/expr.rs @@ -17,12 +17,6 @@ use crate::check::TupleArgumentsFlag::DontTupleArguments; use crate::type_error_struct; use crate::util::common::ErrorReported; -use rustc::middle::lang_items; -use rustc::ty; -use rustc::ty::adjustment::{Adjust, Adjustment, AllowTwoPhase, AutoBorrow, AutoBorrowMutability}; -use rustc::ty::Ty; -use rustc::ty::TypeFoldable; -use rustc::ty::{AdtKind, Visibility}; use rustc_ast::ast; use rustc_ast::util::lev_distance::find_best_match_for_name; use rustc_data_structures::fx::FxHashMap; @@ -33,6 +27,14 @@ use rustc_hir::def_id::DefId; use rustc_hir::{ExprKind, QPath}; use rustc_infer::infer; use rustc_infer::infer::type_variable::{TypeVariableOrigin, TypeVariableOriginKind}; +use rustc_middle::middle::lang_items; +use rustc_middle::ty; +use rustc_middle::ty::adjustment::{ + Adjust, Adjustment, AllowTwoPhase, AutoBorrow, AutoBorrowMutability, +}; +use rustc_middle::ty::Ty; +use rustc_middle::ty::TypeFoldable; +use rustc_middle::ty::{AdtKind, Visibility}; use rustc_span::hygiene::DesugaringKind; use rustc_span::source_map::Span; use rustc_span::symbol::{kw, sym, Symbol}; diff --git a/src/librustc_typeck/check/generator_interior.rs b/src/librustc_typeck/check/generator_interior.rs index cdf68256a7a88..db9c8c35c2cee 100644 --- a/src/librustc_typeck/check/generator_interior.rs +++ b/src/librustc_typeck/check/generator_interior.rs @@ -4,14 +4,14 @@ //! types computed here. use super::FnCtxt; -use rustc::middle::region::{self, YieldData}; -use rustc::ty::{self, Ty}; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_hir as hir; use rustc_hir::def::{CtorKind, DefKind, Res}; use rustc_hir::def_id::DefId; use rustc_hir::intravisit::{self, NestedVisitorMap, Visitor}; use rustc_hir::{Expr, ExprKind, Pat, PatKind}; +use rustc_middle::middle::region::{self, YieldData}; +use rustc_middle::ty::{self, Ty}; use rustc_span::Span; struct InteriorVisitor<'a, 'tcx> { @@ -205,7 +205,7 @@ pub fn resolve_interior<'a, 'tcx>( } // This visitor has to have the same visit_expr calls as RegionResolutionVisitor in -// librustc/middle/region.rs since `expr_count` is compared against the results +// librustc_middle/middle/region.rs since `expr_count` is compared against the results // there. impl<'a, 'tcx> Visitor<'tcx> for InteriorVisitor<'a, 'tcx> { type Map = intravisit::ErasedMap<'tcx>; diff --git a/src/librustc_typeck/check/intrinsic.rs b/src/librustc_typeck/check/intrinsic.rs index 6f9d8a8e58fa5..ce7166b2c768d 100644 --- a/src/librustc_typeck/check/intrinsic.rs +++ b/src/librustc_typeck/check/intrinsic.rs @@ -3,11 +3,11 @@ use crate::require_same_types; -use rustc::traits::{ObligationCause, ObligationCauseCode}; -use rustc::ty::subst::Subst; -use rustc::ty::{self, Ty, TyCtxt}; use rustc_errors::struct_span_err; use rustc_hir as hir; +use rustc_middle::traits::{ObligationCause, ObligationCauseCode}; +use rustc_middle::ty::subst::Subst; +use rustc_middle::ty::{self, Ty, TyCtxt}; use rustc_span::symbol::Symbol; use rustc_target::spec::abi::Abi; diff --git a/src/librustc_typeck/check/method/confirm.rs b/src/librustc_typeck/check/method/confirm.rs index d340d6ff5c271..63f7ba5baac3b 100644 --- a/src/librustc_typeck/check/method/confirm.rs +++ b/src/librustc_typeck/check/method/confirm.rs @@ -4,13 +4,13 @@ use crate::astconv::AstConv; use crate::check::{callee, FnCtxt, Needs, PlaceOp}; use crate::hir::def_id::DefId; use crate::hir::GenericArg; -use rustc::ty::adjustment::{Adjust, Adjustment, OverloadedDeref, PointerCast}; -use rustc::ty::adjustment::{AllowTwoPhase, AutoBorrow, AutoBorrowMutability}; -use rustc::ty::fold::TypeFoldable; -use rustc::ty::subst::{Subst, SubstsRef}; -use rustc::ty::{self, GenericParamDefKind, Ty}; use rustc_hir as hir; use rustc_infer::infer::{self, InferOk}; +use rustc_middle::ty::adjustment::{Adjust, Adjustment, OverloadedDeref, PointerCast}; +use rustc_middle::ty::adjustment::{AllowTwoPhase, AutoBorrow, AutoBorrowMutability}; +use rustc_middle::ty::fold::TypeFoldable; +use rustc_middle::ty::subst::{Subst, SubstsRef}; +use rustc_middle::ty::{self, GenericParamDefKind, Ty}; use rustc_span::Span; use rustc_trait_selection::traits; diff --git a/src/librustc_typeck/check/method/mod.rs b/src/librustc_typeck/check/method/mod.rs index 962f9807546ac..deaff19de08d3 100644 --- a/src/librustc_typeck/check/method/mod.rs +++ b/src/librustc_typeck/check/method/mod.rs @@ -11,10 +11,6 @@ pub use self::CandidateSource::*; pub use self::MethodError::*; use crate::check::FnCtxt; -use rustc::ty::subst::Subst; -use rustc::ty::subst::{InternalSubsts, SubstsRef}; -use rustc::ty::GenericParamDefKind; -use rustc::ty::{self, ToPolyTraitRef, ToPredicate, Ty, TypeFoldable, WithConstness}; use rustc_ast::ast; use rustc_data_structures::sync::Lrc; use rustc_errors::{Applicability, DiagnosticBuilder}; @@ -22,6 +18,10 @@ use rustc_hir as hir; use rustc_hir::def::{CtorOf, DefKind, Namespace}; use rustc_hir::def_id::DefId; use rustc_infer::infer::{self, InferOk}; +use rustc_middle::ty::subst::Subst; +use rustc_middle::ty::subst::{InternalSubsts, SubstsRef}; +use rustc_middle::ty::GenericParamDefKind; +use rustc_middle::ty::{self, ToPolyTraitRef, ToPredicate, Ty, TypeFoldable, WithConstness}; use rustc_span::Span; use rustc_trait_selection::traits; use rustc_trait_selection::traits::query::evaluate_obligation::InferCtxtExt; diff --git a/src/librustc_typeck/check/method/probe.rs b/src/librustc_typeck/check/method/probe.rs index 45b1c7d6ea740..7e7d84c199676 100644 --- a/src/librustc_typeck/check/method/probe.rs +++ b/src/librustc_typeck/check/method/probe.rs @@ -8,12 +8,6 @@ use crate::check::FnCtxt; use crate::hir::def::DefKind; use crate::hir::def_id::DefId; -use rustc::middle::stability; -use rustc::ty::subst::{InternalSubsts, Subst, SubstsRef}; -use rustc::ty::GenericParamDefKind; -use rustc::ty::{ - self, ParamEnvAnd, ToPolyTraitRef, ToPredicate, Ty, TyCtxt, TypeFoldable, WithConstness, -}; use rustc_ast::ast; use rustc_ast::util::lev_distance::{find_best_match_for_name, lev_distance}; use rustc_data_structures::fx::FxHashSet; @@ -26,6 +20,12 @@ use rustc_infer::infer::canonical::{Canonical, QueryResponse}; use rustc_infer::infer::type_variable::{TypeVariableOrigin, TypeVariableOriginKind}; use rustc_infer::infer::unify_key::{ConstVariableOrigin, ConstVariableOriginKind}; use rustc_infer::infer::{self, InferOk, TyCtxtInferExt}; +use rustc_middle::middle::stability; +use rustc_middle::ty::subst::{InternalSubsts, Subst, SubstsRef}; +use rustc_middle::ty::GenericParamDefKind; +use rustc_middle::ty::{ + self, ParamEnvAnd, ToPolyTraitRef, ToPredicate, Ty, TyCtxt, TypeFoldable, WithConstness, +}; use rustc_session::config::nightly_options; use rustc_session::lint; use rustc_span::{symbol::Symbol, Span, DUMMY_SP}; diff --git a/src/librustc_typeck/check/method/suggest.rs b/src/librustc_typeck/check/method/suggest.rs index 688820029febc..9bfeafbfc9fac 100644 --- a/src/librustc_typeck/check/method/suggest.rs +++ b/src/librustc_typeck/check/method/suggest.rs @@ -3,9 +3,6 @@ use crate::check::FnCtxt; use crate::middle::lang_items::FnOnceTraitLangItem; -use rustc::hir::map as hir_map; -use rustc::ty::print::with_crate_prefix; -use rustc::ty::{self, ToPolyTraitRef, ToPredicate, Ty, TyCtxt, TypeFoldable, WithConstness}; use rustc_ast::ast; use rustc_ast::util::lev_distance; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; @@ -16,6 +13,11 @@ use rustc_hir::def_id::{DefId, CRATE_DEF_INDEX, LOCAL_CRATE}; use rustc_hir::intravisit; use rustc_hir::{ExprKind, Node, QPath}; use rustc_infer::infer::type_variable::{TypeVariableOrigin, TypeVariableOriginKind}; +use rustc_middle::hir::map as hir_map; +use rustc_middle::ty::print::with_crate_prefix; +use rustc_middle::ty::{ + self, ToPolyTraitRef, ToPredicate, Ty, TyCtxt, TypeFoldable, WithConstness, +}; use rustc_span::symbol::kw; use rustc_span::{source_map, FileName, Span}; use rustc_trait_selection::traits::query::evaluate_obligation::InferCtxtExt; diff --git a/src/librustc_typeck/check/mod.rs b/src/librustc_typeck/check/mod.rs index f188ee0a13c3d..6249e1d49779e 100644 --- a/src/librustc_typeck/check/mod.rs +++ b/src/librustc_typeck/check/mod.rs @@ -89,21 +89,6 @@ pub mod writeback; use crate::astconv::{AstConv, GenericArgCountMismatch, PathSeg}; use crate::middle::lang_items; -use rustc::hir::map::blocks::FnLikeNode; -use rustc::middle::region; -use rustc::mir::interpret::ConstValue; -use rustc::ty::adjustment::{ - Adjust, Adjustment, AllowTwoPhase, AutoBorrow, AutoBorrowMutability, PointerCast, -}; -use rustc::ty::fold::{TypeFoldable, TypeFolder}; -use rustc::ty::layout::VariantIdx; -use rustc::ty::query::Providers; -use rustc::ty::subst::{GenericArgKind, InternalSubsts, Subst, SubstsRef, UserSelfTy, UserSubsts}; -use rustc::ty::util::{Discr, IntTypeExt, Representability}; -use rustc::ty::{ - self, AdtKind, CanonicalUserType, Const, GenericParamDefKind, RegionKind, ToPolyTraitRef, - ToPredicate, Ty, TyCtxt, UserType, WithConstness, -}; use rustc_ast::ast; use rustc_ast::util::parser::ExprPrecedence; use rustc_attr as attr; @@ -122,6 +107,23 @@ use rustc_infer::infer::error_reporting::TypeAnnotationNeeded::E0282; use rustc_infer::infer::type_variable::{TypeVariableOrigin, TypeVariableOriginKind}; use rustc_infer::infer::unify_key::{ConstVariableOrigin, ConstVariableOriginKind}; use rustc_infer::infer::{self, InferCtxt, InferOk, InferResult, TyCtxtInferExt}; +use rustc_middle::hir::map::blocks::FnLikeNode; +use rustc_middle::middle::region; +use rustc_middle::mir::interpret::ConstValue; +use rustc_middle::ty::adjustment::{ + Adjust, Adjustment, AllowTwoPhase, AutoBorrow, AutoBorrowMutability, PointerCast, +}; +use rustc_middle::ty::fold::{TypeFoldable, TypeFolder}; +use rustc_middle::ty::layout::VariantIdx; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::subst::{ + GenericArgKind, InternalSubsts, Subst, SubstsRef, UserSelfTy, UserSubsts, +}; +use rustc_middle::ty::util::{Discr, IntTypeExt, Representability}; +use rustc_middle::ty::{ + self, AdtKind, CanonicalUserType, Const, GenericParamDefKind, RegionKind, ToPolyTraitRef, + ToPredicate, Ty, TyCtxt, UserType, WithConstness, +}; use rustc_session::config::{self, EntryFnType}; use rustc_session::lint; use rustc_session::parse::feature_err; @@ -3439,8 +3441,8 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> { // In that case, fallback to Error. // The return value indicates whether fallback has occurred. fn fallback_if_possible(&self, ty: Ty<'tcx>, mode: FallbackMode) -> bool { - use rustc::ty::error::UnconstrainedNumeric::Neither; - use rustc::ty::error::UnconstrainedNumeric::{UnconstrainedFloat, UnconstrainedInt}; + use rustc_middle::ty::error::UnconstrainedNumeric::Neither; + use rustc_middle::ty::error::UnconstrainedNumeric::{UnconstrainedFloat, UnconstrainedInt}; assert!(ty.is_ty_infer()); let fallback = match self.type_is_unconstrained_numeric(ty) { diff --git a/src/librustc_typeck/check/op.rs b/src/librustc_typeck/check/op.rs index 657926a1825fa..7367338bddf54 100644 --- a/src/librustc_typeck/check/op.rs +++ b/src/librustc_typeck/check/op.rs @@ -2,13 +2,15 @@ use super::method::MethodCallee; use super::{FnCtxt, Needs}; -use rustc::ty::adjustment::{Adjust, Adjustment, AllowTwoPhase, AutoBorrow, AutoBorrowMutability}; -use rustc::ty::TyKind::{Adt, Array, Char, FnDef, Never, Ref, Str, Tuple, Uint}; -use rustc::ty::{self, Ty, TypeFoldable}; use rustc_ast::ast::Ident; use rustc_errors::{self, struct_span_err, Applicability, DiagnosticBuilder}; use rustc_hir as hir; use rustc_infer::infer::type_variable::{TypeVariableOrigin, TypeVariableOriginKind}; +use rustc_middle::ty::adjustment::{ + Adjust, Adjustment, AllowTwoPhase, AutoBorrow, AutoBorrowMutability, +}; +use rustc_middle::ty::TyKind::{Adt, Array, Char, FnDef, Never, Ref, Str, Tuple, Uint}; +use rustc_middle::ty::{self, Ty, TypeFoldable}; use rustc_span::Span; use rustc_trait_selection::infer::InferCtxtExt; diff --git a/src/librustc_typeck/check/pat.rs b/src/librustc_typeck/check/pat.rs index ec703d5ec9e9a..fc91142dd7da3 100644 --- a/src/librustc_typeck/check/pat.rs +++ b/src/librustc_typeck/check/pat.rs @@ -1,6 +1,4 @@ use crate::check::FnCtxt; -use rustc::ty::subst::GenericArg; -use rustc::ty::{self, BindingMode, Ty, TypeFoldable}; use rustc_ast::ast; use rustc_ast::util::lev_distance::find_best_match_for_name; use rustc_data_structures::fx::FxHashMap; @@ -11,6 +9,8 @@ use rustc_hir::pat_util::EnumerateAndAdjustIterator; use rustc_hir::{HirId, Pat, PatKind}; use rustc_infer::infer; use rustc_infer::infer::type_variable::{TypeVariableOrigin, TypeVariableOriginKind}; +use rustc_middle::ty::subst::GenericArg; +use rustc_middle::ty::{self, BindingMode, Ty, TypeFoldable}; use rustc_span::hygiene::DesugaringKind; use rustc_span::source_map::{Span, Spanned}; use rustc_trait_selection::traits::{ObligationCause, Pattern}; diff --git a/src/librustc_typeck/check/regionck.rs b/src/librustc_typeck/check/regionck.rs index a1345895689e0..393f9f8bdfbaf 100644 --- a/src/librustc_typeck/check/regionck.rs +++ b/src/librustc_typeck/check/regionck.rs @@ -76,15 +76,15 @@ use crate::check::dropck; use crate::check::FnCtxt; use crate::mem_categorization as mc; use crate::middle::region; -use rustc::ty::adjustment; -use rustc::ty::subst::{GenericArgKind, SubstsRef}; -use rustc::ty::{self, Ty}; use rustc_hir as hir; use rustc_hir::def_id::DefId; use rustc_hir::intravisit::{self, NestedVisitorMap, Visitor}; use rustc_hir::PatKind; use rustc_infer::infer::outlives::env::OutlivesEnvironment; use rustc_infer::infer::{self, RegionObligation, RegionckMode}; +use rustc_middle::ty::adjustment; +use rustc_middle::ty::subst::{GenericArgKind, SubstsRef}; +use rustc_middle::ty::{self, Ty}; use rustc_span::Span; use rustc_trait_selection::infer::OutlivesEnvironmentExt; use rustc_trait_selection::opaque_types::InferCtxtExt; diff --git a/src/librustc_typeck/check/upvar.rs b/src/librustc_typeck/check/upvar.rs index ff4e2cdab78d7..c6c11ee9d9b5b 100644 --- a/src/librustc_typeck/check/upvar.rs +++ b/src/librustc_typeck/check/upvar.rs @@ -35,7 +35,6 @@ use super::FnCtxt; use crate::expr_use_visitor as euv; use crate::mem_categorization as mc; use crate::mem_categorization::PlaceBase; -use rustc::ty::{self, Ty, TyCtxt, UpvarSubsts}; use rustc_ast::ast; use rustc_data_structures::fx::FxIndexMap; use rustc_hir as hir; @@ -43,6 +42,7 @@ use rustc_hir::def_id::DefId; use rustc_hir::def_id::LocalDefId; use rustc_hir::intravisit::{self, NestedVisitorMap, Visitor}; use rustc_infer::infer::UpvarRegion; +use rustc_middle::ty::{self, Ty, TyCtxt, UpvarSubsts}; use rustc_span::Span; impl<'a, 'tcx> FnCtxt<'a, 'tcx> { diff --git a/src/librustc_typeck/check/wfcheck.rs b/src/librustc_typeck/check/wfcheck.rs index c89c4b028b4ea..6419113219162 100644 --- a/src/librustc_typeck/check/wfcheck.rs +++ b/src/librustc_typeck/check/wfcheck.rs @@ -1,12 +1,6 @@ use crate::check::{FnCtxt, Inherited}; use crate::constrained_generic_params::{identify_constrained_generic_params, Parameter}; -use rustc::middle::lang_items; -use rustc::ty::subst::{InternalSubsts, Subst}; -use rustc::ty::trait_def::TraitSpecializationKind; -use rustc::ty::{ - self, AdtKind, GenericParamDefKind, ToPredicate, Ty, TyCtxt, TypeFoldable, WithConstness, -}; use rustc_ast::ast; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_errors::{struct_span_err, Applicability, DiagnosticBuilder}; @@ -14,6 +8,12 @@ use rustc_hir as hir; use rustc_hir::def_id::DefId; use rustc_hir::itemlikevisit::ParItemLikeVisitor; use rustc_hir::ItemKind; +use rustc_middle::middle::lang_items; +use rustc_middle::ty::subst::{InternalSubsts, Subst}; +use rustc_middle::ty::trait_def::TraitSpecializationKind; +use rustc_middle::ty::{ + self, AdtKind, GenericParamDefKind, ToPredicate, Ty, TyCtxt, TypeFoldable, WithConstness, +}; use rustc_session::parse::feature_err; use rustc_span::symbol::sym; use rustc_span::Span; diff --git a/src/librustc_typeck/check/writeback.rs b/src/librustc_typeck/check/writeback.rs index 65f81ef033dd7..cccd84c2b884a 100644 --- a/src/librustc_typeck/check/writeback.rs +++ b/src/librustc_typeck/check/writeback.rs @@ -4,15 +4,15 @@ use crate::check::FnCtxt; -use rustc::ty::adjustment::{Adjust, Adjustment, PointerCast}; -use rustc::ty::fold::{TypeFoldable, TypeFolder}; -use rustc::ty::{self, Ty, TyCtxt}; use rustc_data_structures::sync::Lrc; use rustc_hir as hir; use rustc_hir::def_id::DefIdSet; use rustc_hir::intravisit::{self, NestedVisitorMap, Visitor}; use rustc_infer::infer::error_reporting::TypeAnnotationNeeded::E0282; use rustc_infer::infer::InferCtxt; +use rustc_middle::ty::adjustment::{Adjust, Adjustment, PointerCast}; +use rustc_middle::ty::fold::{TypeFoldable, TypeFolder}; +use rustc_middle::ty::{self, Ty, TyCtxt}; use rustc_span::symbol::sym; use rustc_span::Span; use rustc_trait_selection::opaque_types::InferCtxtExt; diff --git a/src/librustc_typeck/check_unused.rs b/src/librustc_typeck/check_unused.rs index 9d8113e7b3fff..f552b53d8bab8 100644 --- a/src/librustc_typeck/check_unused.rs +++ b/src/librustc_typeck/check_unused.rs @@ -1,10 +1,10 @@ -use rustc::ty::TyCtxt; use rustc_ast::ast; use rustc_data_structures::fx::FxHashMap; use rustc_errors::Applicability; use rustc_hir as hir; use rustc_hir::def_id::{DefId, DefIdSet, LOCAL_CRATE}; use rustc_hir::itemlikevisit::ItemLikeVisitor; +use rustc_middle::ty::TyCtxt; use rustc_session::lint; use rustc_span::Span; diff --git a/src/librustc_typeck/coherence/builtin.rs b/src/librustc_typeck/coherence/builtin.rs index c71f2331759b0..32963b6a1f085 100644 --- a/src/librustc_typeck/coherence/builtin.rs +++ b/src/librustc_typeck/coherence/builtin.rs @@ -1,11 +1,6 @@ //! Check properties that are required by built-in traits and set //! up data structures required by type-checking/codegen. -use rustc::middle::lang_items::UnsizeTraitLangItem; -use rustc::middle::region; -use rustc::ty::adjustment::CoerceUnsizedInfo; -use rustc::ty::TypeFoldable; -use rustc::ty::{self, Ty, TyCtxt}; use rustc_errors::struct_span_err; use rustc_hir as hir; use rustc_hir::def_id::DefId; @@ -13,6 +8,11 @@ use rustc_hir::ItemKind; use rustc_infer::infer; use rustc_infer::infer::outlives::env::OutlivesEnvironment; use rustc_infer::infer::{RegionckMode, TyCtxtInferExt}; +use rustc_middle::middle::lang_items::UnsizeTraitLangItem; +use rustc_middle::middle::region; +use rustc_middle::ty::adjustment::CoerceUnsizedInfo; +use rustc_middle::ty::TypeFoldable; +use rustc_middle::ty::{self, Ty, TyCtxt}; use rustc_trait_selection::traits::error_reporting::InferCtxtExt; use rustc_trait_selection::traits::misc::{can_type_implement_copy, CopyImplementationError}; use rustc_trait_selection::traits::predicate_for_trait_def; diff --git a/src/librustc_typeck/coherence/inherent_impls.rs b/src/librustc_typeck/coherence/inherent_impls.rs index c6ee9ab60abf3..9ace9f424b74d 100644 --- a/src/librustc_typeck/coherence/inherent_impls.rs +++ b/src/librustc_typeck/coherence/inherent_impls.rs @@ -7,11 +7,11 @@ //! `tcx.inherent_impls(def_id)`). That value, however, //! is computed by selecting an idea from this table. -use rustc::ty::{self, CrateInherentImpls, TyCtxt}; use rustc_errors::struct_span_err; use rustc_hir as hir; use rustc_hir::def_id::{CrateNum, DefId, LOCAL_CRATE}; use rustc_hir::itemlikevisit::ItemLikeVisitor; +use rustc_middle::ty::{self, CrateInherentImpls, TyCtxt}; use rustc_ast::ast; use rustc_span::Span; diff --git a/src/librustc_typeck/coherence/inherent_impls_overlap.rs b/src/librustc_typeck/coherence/inherent_impls_overlap.rs index 7513759c76b01..be77d049cae40 100644 --- a/src/librustc_typeck/coherence/inherent_impls_overlap.rs +++ b/src/librustc_typeck/coherence/inherent_impls_overlap.rs @@ -1,8 +1,8 @@ -use rustc::ty::TyCtxt; use rustc_errors::struct_span_err; use rustc_hir as hir; use rustc_hir::def_id::{CrateNum, DefId, LOCAL_CRATE}; use rustc_hir::itemlikevisit::ItemLikeVisitor; +use rustc_middle::ty::TyCtxt; use rustc_trait_selection::traits::{self, SkipLeakCheck}; pub fn crate_inherent_impls_overlap_check(tcx: TyCtxt<'_>, crate_num: CrateNum) { diff --git a/src/librustc_typeck/coherence/mod.rs b/src/librustc_typeck/coherence/mod.rs index 6ed4f62c4bea2..0df08b7bc8b37 100644 --- a/src/librustc_typeck/coherence/mod.rs +++ b/src/librustc_typeck/coherence/mod.rs @@ -5,10 +5,10 @@ // done by the orphan and overlap modules. Then we build up various // mappings. That mapping code resides here. -use rustc::ty::query::Providers; -use rustc::ty::{self, TyCtxt, TypeFoldable}; use rustc_errors::struct_span_err; use rustc_hir::def_id::{DefId, LOCAL_CRATE}; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::{self, TyCtxt, TypeFoldable}; use rustc_span::Span; use rustc_trait_selection::traits; diff --git a/src/librustc_typeck/coherence/orphan.rs b/src/librustc_typeck/coherence/orphan.rs index cc0ad364177a0..d77f2bd0d8b96 100644 --- a/src/librustc_typeck/coherence/orphan.rs +++ b/src/librustc_typeck/coherence/orphan.rs @@ -1,11 +1,11 @@ //! Orphan checker: every impl either implements a trait defined in this //! crate or pertains to a type defined in this crate. -use rustc::ty::{self, TyCtxt}; use rustc_errors::struct_span_err; use rustc_hir as hir; use rustc_hir::itemlikevisit::ItemLikeVisitor; use rustc_infer::infer::TyCtxtInferExt; +use rustc_middle::ty::{self, TyCtxt}; use rustc_trait_selection::traits; pub fn check(tcx: TyCtxt<'_>) { diff --git a/src/librustc_typeck/coherence/unsafety.rs b/src/librustc_typeck/coherence/unsafety.rs index 3b25f67aacc63..b281092ea631d 100644 --- a/src/librustc_typeck/coherence/unsafety.rs +++ b/src/librustc_typeck/coherence/unsafety.rs @@ -1,11 +1,11 @@ //! Unsafety checker: every impl either implements a trait defined in this //! crate or pertains to a type defined in this crate. -use rustc::ty::TyCtxt; use rustc_errors::struct_span_err; use rustc_hir as hir; use rustc_hir::itemlikevisit::ItemLikeVisitor; use rustc_hir::Unsafety; +use rustc_middle::ty::TyCtxt; pub fn check(tcx: TyCtxt<'_>) { let mut unsafety = UnsafetyChecker { tcx }; diff --git a/src/librustc_typeck/collect.rs b/src/librustc_typeck/collect.rs index 31123c5cf028c..30887f840321b 100644 --- a/src/librustc_typeck/collect.rs +++ b/src/librustc_typeck/collect.rs @@ -19,16 +19,6 @@ use crate::check::intrinsic::intrinsic_operation_unsafety; use crate::constrained_generic_params as cgp; use crate::middle::lang_items; use crate::middle::resolve_lifetime as rl; -use rustc::hir::map::blocks::FnLikeNode; -use rustc::hir::map::Map; -use rustc::middle::codegen_fn_attrs::{CodegenFnAttrFlags, CodegenFnAttrs}; -use rustc::mir::mono::Linkage; -use rustc::ty::query::Providers; -use rustc::ty::subst::{InternalSubsts, Subst}; -use rustc::ty::util::Discr; -use rustc::ty::util::IntTypeExt; -use rustc::ty::{self, AdtKind, Const, ToPolyTraitRef, Ty, TyCtxt}; -use rustc::ty::{ReprOptions, ToPredicate, WithConstness}; use rustc_ast::ast; use rustc_ast::ast::{Ident, MetaItemKind}; use rustc_attr::{list_contains_name, mark_used, InlineAttr, OptimizeAttr}; @@ -40,6 +30,16 @@ use rustc_hir::def::{CtorKind, DefKind, Res}; use rustc_hir::def_id::{DefId, LOCAL_CRATE}; use rustc_hir::intravisit::{self, NestedVisitorMap, Visitor}; use rustc_hir::{GenericParamKind, Node, Unsafety}; +use rustc_middle::hir::map::blocks::FnLikeNode; +use rustc_middle::hir::map::Map; +use rustc_middle::middle::codegen_fn_attrs::{CodegenFnAttrFlags, CodegenFnAttrs}; +use rustc_middle::mir::mono::Linkage; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::subst::{InternalSubsts, Subst}; +use rustc_middle::ty::util::Discr; +use rustc_middle::ty::util::IntTypeExt; +use rustc_middle::ty::{self, AdtKind, Const, ToPolyTraitRef, Ty, TyCtxt}; +use rustc_middle::ty::{ReprOptions, ToPredicate, WithConstness}; use rustc_session::lint; use rustc_session::parse::feature_err; use rustc_span::symbol::{kw, sym, Symbol}; @@ -2301,7 +2301,7 @@ fn from_target_feature( } fn linkage_by_name(tcx: TyCtxt<'_>, def_id: DefId, name: &str) -> Linkage { - use rustc::mir::mono::Linkage::*; + use rustc_middle::mir::mono::Linkage::*; // Use the names from src/llvm/docs/LangRef.rst here. Most types are only // applicable to variable declarations and may not really make sense for diff --git a/src/librustc_typeck/collect/type_of.rs b/src/librustc_typeck/collect/type_of.rs index 23613caa99322..1d34a58fabb31 100644 --- a/src/librustc_typeck/collect/type_of.rs +++ b/src/librustc_typeck/collect/type_of.rs @@ -1,7 +1,3 @@ -use rustc::hir::map::Map; -use rustc::ty::subst::{GenericArgKind, InternalSubsts, Subst}; -use rustc::ty::util::IntTypeExt; -use rustc::ty::{self, DefIdTree, Ty, TyCtxt, TypeFoldable}; use rustc_data_structures::fx::FxHashMap; use rustc_errors::{struct_span_err, Applicability, StashKey}; use rustc_hir as hir; @@ -10,6 +6,10 @@ use rustc_hir::def_id::DefId; use rustc_hir::intravisit; use rustc_hir::intravisit::Visitor; use rustc_hir::Node; +use rustc_middle::hir::map::Map; +use rustc_middle::ty::subst::{GenericArgKind, InternalSubsts, Subst}; +use rustc_middle::ty::util::IntTypeExt; +use rustc_middle::ty::{self, DefIdTree, Ty, TyCtxt, TypeFoldable}; use rustc_session::parse::feature_err; use rustc_span::symbol::{sym, Ident}; use rustc_span::{Span, DUMMY_SP}; diff --git a/src/librustc_typeck/constrained_generic_params.rs b/src/librustc_typeck/constrained_generic_params.rs index b16aa6ff3b2e4..07ff3bc85cc19 100644 --- a/src/librustc_typeck/constrained_generic_params.rs +++ b/src/librustc_typeck/constrained_generic_params.rs @@ -1,6 +1,6 @@ -use rustc::ty::fold::{TypeFoldable, TypeVisitor}; -use rustc::ty::{self, Ty, TyCtxt}; use rustc_data_structures::fx::FxHashSet; +use rustc_middle::ty::fold::{TypeFoldable, TypeVisitor}; +use rustc_middle::ty::{self, Ty, TyCtxt}; use rustc_span::source_map::Span; #[derive(Clone, PartialEq, Eq, Hash, Debug)] diff --git a/src/librustc_typeck/expr_use_visitor.rs b/src/librustc_typeck/expr_use_visitor.rs index 4eb6a6bda02eb..b6d7309f86aac 100644 --- a/src/librustc_typeck/expr_use_visitor.rs +++ b/src/librustc_typeck/expr_use_visitor.rs @@ -7,12 +7,12 @@ pub use self::ConsumeMode::*; // Export these here so that Clippy can use them. pub use mc::{Place, PlaceBase, Projection}; -use rustc::ty::{self, adjustment, TyCtxt}; use rustc_hir as hir; use rustc_hir::def::Res; use rustc_hir::def_id::DefId; use rustc_hir::PatKind; use rustc_infer::infer::InferCtxt; +use rustc_middle::ty::{self, adjustment, TyCtxt}; use crate::mem_categorization as mc; use rustc_span::Span; diff --git a/src/librustc_typeck/impl_wf_check.rs b/src/librustc_typeck/impl_wf_check.rs index 42cb4fcf85dcb..0635ad5babcd8 100644 --- a/src/librustc_typeck/impl_wf_check.rs +++ b/src/librustc_typeck/impl_wf_check.rs @@ -11,13 +11,13 @@ use crate::constrained_generic_params as cgp; use min_specialization::check_min_specialization; -use rustc::ty::query::Providers; -use rustc::ty::{self, TyCtxt, TypeFoldable}; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_errors::struct_span_err; use rustc_hir as hir; use rustc_hir::def_id::DefId; use rustc_hir::itemlikevisit::ItemLikeVisitor; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::{self, TyCtxt, TypeFoldable}; use rustc_span::Span; use std::collections::hash_map::Entry::{Occupied, Vacant}; diff --git a/src/librustc_typeck/impl_wf_check/min_specialization.rs b/src/librustc_typeck/impl_wf_check/min_specialization.rs index ef94500f5c444..559e478df0604 100644 --- a/src/librustc_typeck/impl_wf_check/min_specialization.rs +++ b/src/librustc_typeck/impl_wf_check/min_specialization.rs @@ -67,16 +67,16 @@ use crate::constrained_generic_params as cgp; -use rustc::middle::region::ScopeTree; -use rustc::ty::subst::{GenericArg, InternalSubsts, SubstsRef}; -use rustc::ty::trait_def::TraitSpecializationKind; -use rustc::ty::{self, InstantiatedPredicates, TyCtxt, TypeFoldable}; use rustc_data_structures::fx::FxHashSet; use rustc_hir as hir; use rustc_hir::def_id::DefId; use rustc_infer::infer::outlives::env::OutlivesEnvironment; use rustc_infer::infer::{InferCtxt, RegionckMode, TyCtxtInferExt}; use rustc_infer::traits::specialization_graph::Node; +use rustc_middle::middle::region::ScopeTree; +use rustc_middle::ty::subst::{GenericArg, InternalSubsts, SubstsRef}; +use rustc_middle::ty::trait_def::TraitSpecializationKind; +use rustc_middle::ty::{self, InstantiatedPredicates, TyCtxt, TypeFoldable}; use rustc_span::Span; use rustc_trait_selection::traits::{self, translate_substs, wf}; diff --git a/src/librustc_typeck/lib.rs b/src/librustc_typeck/lib.rs index fd854c750184e..1927b9c99e175 100644 --- a/src/librustc_typeck/lib.rs +++ b/src/librustc_typeck/lib.rs @@ -72,7 +72,7 @@ This API is completely unstable and subject to change. extern crate log; #[macro_use] -extern crate rustc; +extern crate rustc_middle; // This is used by Clippy. pub mod expr_use_visitor; @@ -89,18 +89,18 @@ mod outlives; mod structured_errors; mod variance; -use rustc::middle; -use rustc::ty::query::Providers; -use rustc::ty::subst::SubstsRef; -use rustc::ty::{self, Ty, TyCtxt}; -use rustc::util; -use rustc::util::common::ErrorReported; use rustc_errors::struct_span_err; use rustc_hir as hir; use rustc_hir::def_id::{DefId, LOCAL_CRATE}; use rustc_hir::Node; use rustc_infer::infer::{InferOk, TyCtxtInferExt}; use rustc_infer::traits::TraitEngineExt as _; +use rustc_middle::middle; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::subst::SubstsRef; +use rustc_middle::ty::{self, Ty, TyCtxt}; +use rustc_middle::util; +use rustc_middle::util::common::ErrorReported; use rustc_session::config::EntryFnType; use rustc_span::{Span, DUMMY_SP}; use rustc_target::spec::abi::Abi; diff --git a/src/librustc_typeck/mem_categorization.rs b/src/librustc_typeck/mem_categorization.rs index e76c67794e754..47f61290f5f50 100644 --- a/src/librustc_typeck/mem_categorization.rs +++ b/src/librustc_typeck/mem_categorization.rs @@ -48,9 +48,9 @@ //! result of `*x'`, effectively, where `x'` is a `Categorization::Upvar` reference //! tied to `x`. The type of `x'` will be a borrowed pointer. -use rustc::ty::adjustment; -use rustc::ty::fold::TypeFoldable; -use rustc::ty::{self, Ty, TyCtxt}; +use rustc_middle::ty::adjustment; +use rustc_middle::ty::fold::TypeFoldable; +use rustc_middle::ty::{self, Ty, TyCtxt}; use rustc_data_structures::fx::FxIndexMap; use rustc_hir as hir; diff --git a/src/librustc_typeck/outlives/explicit.rs b/src/librustc_typeck/outlives/explicit.rs index 7500c39cf216b..168f20771476c 100644 --- a/src/librustc_typeck/outlives/explicit.rs +++ b/src/librustc_typeck/outlives/explicit.rs @@ -1,6 +1,6 @@ -use rustc::ty::{self, OutlivesPredicate, TyCtxt}; use rustc_data_structures::fx::FxHashMap; use rustc_hir::def_id::DefId; +use rustc_middle::ty::{self, OutlivesPredicate, TyCtxt}; use super::utils::*; diff --git a/src/librustc_typeck/outlives/implicit_infer.rs b/src/librustc_typeck/outlives/implicit_infer.rs index 44473fee643c6..df7c535ff3bb3 100644 --- a/src/librustc_typeck/outlives/implicit_infer.rs +++ b/src/librustc_typeck/outlives/implicit_infer.rs @@ -1,10 +1,10 @@ -use rustc::ty::subst::{GenericArg, GenericArgKind, Subst}; -use rustc::ty::{self, Ty, TyCtxt}; use rustc_data_structures::fx::FxHashMap; use rustc_hir as hir; use rustc_hir::def_id::DefId; use rustc_hir::itemlikevisit::ItemLikeVisitor; use rustc_hir::Node; +use rustc_middle::ty::subst::{GenericArg, GenericArgKind, Subst}; +use rustc_middle::ty::{self, Ty, TyCtxt}; use rustc_span::Span; use super::explicit::ExplicitPredicatesMap; diff --git a/src/librustc_typeck/outlives/mod.rs b/src/librustc_typeck/outlives/mod.rs index f7b6e0fce5a21..2d9b39a7f6146 100644 --- a/src/librustc_typeck/outlives/mod.rs +++ b/src/librustc_typeck/outlives/mod.rs @@ -1,9 +1,9 @@ use hir::Node; -use rustc::ty::query::Providers; -use rustc::ty::subst::GenericArgKind; -use rustc::ty::{self, CratePredicatesMap, TyCtxt}; use rustc_hir as hir; use rustc_hir::def_id::{CrateNum, DefId, LOCAL_CRATE}; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::subst::GenericArgKind; +use rustc_middle::ty::{self, CratePredicatesMap, TyCtxt}; use rustc_span::symbol::sym; use rustc_span::Span; diff --git a/src/librustc_typeck/outlives/test.rs b/src/librustc_typeck/outlives/test.rs index 980d58ad939d7..655f938493abd 100644 --- a/src/librustc_typeck/outlives/test.rs +++ b/src/librustc_typeck/outlives/test.rs @@ -1,7 +1,7 @@ -use rustc::ty::TyCtxt; use rustc_errors::struct_span_err; use rustc_hir as hir; use rustc_hir::itemlikevisit::ItemLikeVisitor; +use rustc_middle::ty::TyCtxt; use rustc_span::symbol::sym; pub fn test_inferred_outlives(tcx: TyCtxt<'_>) { diff --git a/src/librustc_typeck/outlives/utils.rs b/src/librustc_typeck/outlives/utils.rs index e1bd78e5113d1..3bbe3e34a6a45 100644 --- a/src/librustc_typeck/outlives/utils.rs +++ b/src/librustc_typeck/outlives/utils.rs @@ -1,6 +1,6 @@ -use rustc::ty::outlives::Component; -use rustc::ty::subst::{GenericArg, GenericArgKind}; -use rustc::ty::{self, Region, RegionKind, Ty, TyCtxt}; +use rustc_middle::ty::outlives::Component; +use rustc_middle::ty::subst::{GenericArg, GenericArgKind}; +use rustc_middle::ty::{self, Region, RegionKind, Ty, TyCtxt}; use rustc_span::Span; use smallvec::smallvec; use std::collections::BTreeMap; diff --git a/src/librustc_typeck/structured_errors.rs b/src/librustc_typeck/structured_errors.rs index a4f8472ae2891..83125a3e2feb6 100644 --- a/src/librustc_typeck/structured_errors.rs +++ b/src/librustc_typeck/structured_errors.rs @@ -1,5 +1,5 @@ -use rustc::ty::{Ty, TypeFoldable}; use rustc_errors::{Applicability, DiagnosticBuilder, DiagnosticId}; +use rustc_middle::ty::{Ty, TypeFoldable}; use rustc_session::Session; use rustc_span::Span; diff --git a/src/librustc_typeck/variance/constraints.rs b/src/librustc_typeck/variance/constraints.rs index 11612066d44b2..2871fa606b570 100644 --- a/src/librustc_typeck/variance/constraints.rs +++ b/src/librustc_typeck/variance/constraints.rs @@ -4,10 +4,10 @@ //! We walk the set of items and, for each member, generate new constraints. use hir::def_id::DefId; -use rustc::ty::subst::{GenericArgKind, SubstsRef}; -use rustc::ty::{self, Ty, TyCtxt}; use rustc_hir as hir; use rustc_hir::itemlikevisit::ItemLikeVisitor; +use rustc_middle::ty::subst::{GenericArgKind, SubstsRef}; +use rustc_middle::ty::{self, Ty, TyCtxt}; use super::terms::VarianceTerm::*; use super::terms::*; diff --git a/src/librustc_typeck/variance/mod.rs b/src/librustc_typeck/variance/mod.rs index 3cbb42bb5f309..47652b7b6966c 100644 --- a/src/librustc_typeck/variance/mod.rs +++ b/src/librustc_typeck/variance/mod.rs @@ -4,10 +4,10 @@ //! [rustc dev guide]: https://rustc-dev-guide.rust-lang.org/variance.html use hir::Node; -use rustc::ty::query::Providers; -use rustc::ty::{self, CrateVariancesMap, TyCtxt}; use rustc_hir as hir; use rustc_hir::def_id::{CrateNum, DefId, LOCAL_CRATE}; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::{self, CrateVariancesMap, TyCtxt}; /// Defines the `TermsContext` basically houses an arena where we can /// allocate terms. diff --git a/src/librustc_typeck/variance/solve.rs b/src/librustc_typeck/variance/solve.rs index e285f44123af9..4fc46ce93ee52 100644 --- a/src/librustc_typeck/variance/solve.rs +++ b/src/librustc_typeck/variance/solve.rs @@ -5,9 +5,9 @@ //! optimal solution to the constraints. The final variance for each //! inferred is then written into the `variance_map` in the tcx. -use rustc::ty; use rustc_data_structures::fx::FxHashMap; use rustc_hir::def_id::DefId; +use rustc_middle::ty; use super::constraints::*; use super::terms::VarianceTerm::*; diff --git a/src/librustc_typeck/variance/terms.rs b/src/librustc_typeck/variance/terms.rs index 7e6ec96b379d8..e3ea0bf20e39c 100644 --- a/src/librustc_typeck/variance/terms.rs +++ b/src/librustc_typeck/variance/terms.rs @@ -10,10 +10,10 @@ // a variable. use arena::TypedArena; -use rustc::ty::{self, TyCtxt}; use rustc_hir as hir; use rustc_hir::itemlikevisit::ItemLikeVisitor; use rustc_hir::HirIdMap; +use rustc_middle::ty::{self, TyCtxt}; use std::fmt; use self::VarianceTerm::*; diff --git a/src/librustc_typeck/variance/test.rs b/src/librustc_typeck/variance/test.rs index ee94b1015a1f4..a25252ccd3d84 100644 --- a/src/librustc_typeck/variance/test.rs +++ b/src/librustc_typeck/variance/test.rs @@ -1,7 +1,7 @@ -use rustc::ty::TyCtxt; use rustc_errors::struct_span_err; use rustc_hir as hir; use rustc_hir::itemlikevisit::ItemLikeVisitor; +use rustc_middle::ty::TyCtxt; use rustc_span::symbol::sym; pub fn test_variance(tcx: TyCtxt<'_>) { diff --git a/src/librustc_typeck/variance/xform.rs b/src/librustc_typeck/variance/xform.rs index aed0dfca91a45..027f0859fcd54 100644 --- a/src/librustc_typeck/variance/xform.rs +++ b/src/librustc_typeck/variance/xform.rs @@ -1,4 +1,4 @@ -use rustc::ty; +use rustc_middle::ty; pub fn glb(v1: ty::Variance, v2: ty::Variance) -> ty::Variance { // Greatest lower bound of the variance lattice as diff --git a/src/librustdoc/clean/auto_trait.rs b/src/librustdoc/clean/auto_trait.rs index c85b21a55007f..bf64da56ade08 100644 --- a/src/librustdoc/clean/auto_trait.rs +++ b/src/librustdoc/clean/auto_trait.rs @@ -1,6 +1,6 @@ -use rustc::ty::{self, Region, RegionVid, TypeFoldable}; use rustc_data_structures::fx::FxHashSet; use rustc_hir as hir; +use rustc_middle::ty::{self, Region, RegionVid, TypeFoldable}; use rustc_trait_selection::traits::auto_trait::{self, AutoTraitResult}; use std::fmt::Debug; diff --git a/src/librustdoc/clean/blanket_impl.rs b/src/librustdoc/clean/blanket_impl.rs index e66f869771794..d987505e42735 100644 --- a/src/librustdoc/clean/blanket_impl.rs +++ b/src/librustdoc/clean/blanket_impl.rs @@ -1,10 +1,10 @@ use crate::rustc_trait_selection::traits::query::evaluate_obligation::InferCtxtExt; -use rustc::ty::subst::Subst; -use rustc::ty::{ToPredicate, WithConstness}; use rustc_hir as hir; use rustc_hir::def_id::LOCAL_CRATE; use rustc_infer::infer::{InferOk, TyCtxtInferExt}; use rustc_infer::traits; +use rustc_middle::ty::subst::Subst; +use rustc_middle::ty::{ToPredicate, WithConstness}; use rustc_span::DUMMY_SP; use super::*; diff --git a/src/librustdoc/clean/inline.rs b/src/librustdoc/clean/inline.rs index 510eae82834c8..0906d2f384548 100644 --- a/src/librustdoc/clean/inline.rs +++ b/src/librustdoc/clean/inline.rs @@ -2,7 +2,6 @@ use std::iter::once; -use rustc::ty; use rustc_ast::ast; use rustc_data_structures::fx::FxHashSet; use rustc_hir as hir; @@ -10,6 +9,7 @@ use rustc_hir::def::{CtorKind, DefKind, Res}; use rustc_hir::def_id::DefId; use rustc_hir::Mutability; use rustc_metadata::creader::LoadedMacro; +use rustc_middle::ty; use rustc_mir::const_eval::is_min_const_fn; use rustc_span::hygiene::MacroKind; use rustc_span::Span; @@ -20,7 +20,7 @@ use crate::doctree; use super::Clean; -type Attrs<'hir> = rustc::ty::Attributes<'hir>; +type Attrs<'hir> = rustc_middle::ty::Attributes<'hir>; /// Attempt to inline a definition into this AST. /// diff --git a/src/librustdoc/clean/mod.rs b/src/librustdoc/clean/mod.rs index 7dfcf0a637eb3..c09e74118644c 100644 --- a/src/librustdoc/clean/mod.rs +++ b/src/librustdoc/clean/mod.rs @@ -9,12 +9,6 @@ mod simplify; pub mod types; pub mod utils; -use rustc::middle::lang_items; -use rustc::middle::resolve_lifetime as rl; -use rustc::middle::stability; -use rustc::ty::fold::TypeFolder; -use rustc::ty::subst::InternalSubsts; -use rustc::ty::{self, AdtKind, Lift, Ty, TyCtxt}; use rustc_ast::ast::{self, Ident}; use rustc_attr as attr; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; @@ -23,6 +17,12 @@ use rustc_hir::def::{CtorKind, DefKind, Res}; use rustc_hir::def_id::{CrateNum, DefId, CRATE_DEF_INDEX}; use rustc_index::vec::{Idx, IndexVec}; use rustc_infer::infer::region_constraints::{Constraint, RegionConstraintData}; +use rustc_middle::middle::lang_items; +use rustc_middle::middle::resolve_lifetime as rl; +use rustc_middle::middle::stability; +use rustc_middle::ty::fold::TypeFolder; +use rustc_middle::ty::subst::InternalSubsts; +use rustc_middle::ty::{self, AdtKind, Lift, Ty, TyCtxt}; use rustc_mir::const_eval::is_min_const_fn; use rustc_span::hygiene::MacroKind; use rustc_span::symbol::{kw, sym}; @@ -480,7 +480,7 @@ impl Clean for hir::WherePredicate<'_> { impl<'a> Clean> for ty::Predicate<'a> { fn clean(&self, cx: &DocContext<'_>) -> Option { - use rustc::ty::Predicate; + use rustc_middle::ty::Predicate; match *self { Predicate::Trait(ref pred, _) => Some(pred.clean(cx)), @@ -2186,7 +2186,7 @@ impl Clean> for doctree::ExternCrate<'_> { cx, res, self.name, - Some(rustc::ty::Attributes::Borrowed(self.attrs)), + Some(rustc_middle::ty::Attributes::Borrowed(self.attrs)), &mut visited, ) { return items; @@ -2256,7 +2256,7 @@ impl Clean> for doctree::Import<'_> { cx, path.res, name, - Some(rustc::ty::Attributes::Borrowed(self.attrs)), + Some(rustc_middle::ty::Attributes::Borrowed(self.attrs)), &mut visited, ) { return items; diff --git a/src/librustdoc/clean/simplify.rs b/src/librustdoc/clean/simplify.rs index 2b59c60f0b77f..1404d45ea8938 100644 --- a/src/librustdoc/clean/simplify.rs +++ b/src/librustdoc/clean/simplify.rs @@ -1,7 +1,7 @@ //! Simplification of where-clauses and parameter bounds into a prettier and //! more canonical form. //! -//! Currently all cross-crate-inlined function use `rustc::ty` to reconstruct +//! Currently all cross-crate-inlined function use `rustc_middle::ty` to reconstruct //! the AST (e.g., see all of `clean::inline`), but this is not always a //! non-lossy transformation. The current format of storage for where-clauses //! for functions and such is simply a list of predicates. One example of this @@ -14,8 +14,8 @@ use std::collections::BTreeMap; use std::mem; -use rustc::ty; use rustc_hir::def_id::DefId; +use rustc_middle::ty; use crate::clean; use crate::clean::GenericArgs as PP; diff --git a/src/librustdoc/clean/types.rs b/src/librustdoc/clean/types.rs index 73f2c399e5698..7b3fd82479ebb 100644 --- a/src/librustdoc/clean/types.rs +++ b/src/librustdoc/clean/types.rs @@ -8,9 +8,6 @@ use std::rc::Rc; use std::sync::Arc; use std::{slice, vec}; -use rustc::middle::lang_items; -use rustc::middle::stability; -use rustc::ty::layout::VariantIdx; use rustc_ast::ast::{self, AttrStyle, Ident}; use rustc_ast::attr; use rustc_ast::util::comments::strip_doc_comment_decoration; @@ -20,6 +17,9 @@ use rustc_hir::def::Res; use rustc_hir::def_id::{CrateNum, DefId}; use rustc_hir::Mutability; use rustc_index::vec::IndexVec; +use rustc_middle::middle::lang_items; +use rustc_middle::middle::stability; +use rustc_middle::ty::layout::VariantIdx; use rustc_span::hygiene::MacroKind; use rustc_span::source_map::DUMMY_SP; use rustc_span::symbol::{sym, Symbol}; diff --git a/src/librustdoc/clean/utils.rs b/src/librustdoc/clean/utils.rs index b3bfb559749cb..05a8302ebab67 100644 --- a/src/librustdoc/clean/utils.rs +++ b/src/librustdoc/clean/utils.rs @@ -9,13 +9,13 @@ use crate::clean::{ use crate::core::DocContext; use itertools::Itertools; -use rustc::mir::interpret::{sign_extend, ConstValue, Scalar}; -use rustc::ty::subst::{GenericArgKind, SubstsRef}; -use rustc::ty::{self, DefIdTree, Ty}; use rustc_data_structures::fx::FxHashSet; use rustc_hir as hir; use rustc_hir::def::{DefKind, Res}; use rustc_hir::def_id::{DefId, LOCAL_CRATE}; +use rustc_middle::mir::interpret::{sign_extend, ConstValue, Scalar}; +use rustc_middle::ty::subst::{GenericArgKind, SubstsRef}; +use rustc_middle::ty::{self, DefIdTree, Ty}; use rustc_span::symbol::{kw, sym, Symbol}; use std::mem; diff --git a/src/librustdoc/core.rs b/src/librustdoc/core.rs index fe3a9b6b3dcdd..98f4b592fea6e 100644 --- a/src/librustdoc/core.rs +++ b/src/librustdoc/core.rs @@ -1,6 +1,3 @@ -use rustc::middle::cstore::CrateStore; -use rustc::middle::privacy::AccessLevels; -use rustc::ty::{Ty, TyCtxt}; use rustc_ast::ast::CRATE_NODE_ID; use rustc_attr as attr; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; @@ -12,6 +9,9 @@ use rustc_hir::def::Namespace::TypeNS; use rustc_hir::def_id::{CrateNum, DefId, DefIndex, LOCAL_CRATE}; use rustc_hir::HirId; use rustc_interface::interface; +use rustc_middle::middle::cstore::CrateStore; +use rustc_middle::middle::privacy::AccessLevels; +use rustc_middle::ty::{Ty, TyCtxt}; use rustc_resolve as resolve; use rustc_session::config::ErrorOutputType; use rustc_session::lint; @@ -103,7 +103,7 @@ impl<'tcx> DocContext<'tcx> { } // This is an ugly hack, but it's the simplest way to handle synthetic impls without greatly - // refactoring either librustdoc or librustc. In particular, allowing new DefIds to be + // refactoring either librustdoc or librustc_middle. In particular, allowing new DefIds to be // registered after the AST is constructed would require storing the defid mapping in a // RefCell, decreasing the performance for normal compilation for very little gain. // diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs index eb7a367acf439..1377338ce4af3 100644 --- a/src/librustdoc/html/render.rs +++ b/src/librustdoc/html/render.rs @@ -42,8 +42,6 @@ use std::rc::Rc; use std::str; use std::sync::Arc; -use rustc::middle::privacy::AccessLevels; -use rustc::middle::stability; use rustc_ast_pretty::pprust; use rustc_data_structures::flock; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; @@ -51,6 +49,8 @@ use rustc_feature::UnstableFeatures; use rustc_hir as hir; use rustc_hir::def_id::DefId; use rustc_hir::Mutability; +use rustc_middle::middle::privacy::AccessLevels; +use rustc_middle::middle::stability; use rustc_span::edition::Edition; use rustc_span::hygiene::MacroKind; use rustc_span::source_map::FileName; diff --git a/src/librustdoc/html/render/cache.rs b/src/librustdoc/html/render/cache.rs index b93738319a634..450f44ffeafc1 100644 --- a/src/librustdoc/html/render/cache.rs +++ b/src/librustdoc/html/render/cache.rs @@ -1,8 +1,8 @@ use crate::clean::{self, AttributesExt, GetDefId}; use crate::fold::DocFolder; -use rustc::middle::privacy::AccessLevels; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_hir::def_id::{CrateNum, DefId, CRATE_DEF_INDEX}; +use rustc_middle::middle::privacy::AccessLevels; use rustc_span::source_map::FileName; use rustc_span::symbol::sym; use std::collections::BTreeMap; diff --git a/src/librustdoc/lib.rs b/src/librustdoc/lib.rs index 3c5df0247c1e8..99860a103d78f 100644 --- a/src/librustdoc/lib.rs +++ b/src/librustdoc/lib.rs @@ -16,7 +16,6 @@ extern crate env_logger; extern crate getopts; -extern crate rustc; extern crate rustc_ast; extern crate rustc_ast_pretty; extern crate rustc_attr; @@ -33,6 +32,7 @@ extern crate rustc_interface; extern crate rustc_lexer; extern crate rustc_lint; extern crate rustc_metadata; +extern crate rustc_middle; extern crate rustc_mir; extern crate rustc_parse; extern crate rustc_resolve; diff --git a/src/librustdoc/passes/collect_intra_doc_links.rs b/src/librustdoc/passes/collect_intra_doc_links.rs index 2525773f0ed71..a6b24d49a83ae 100644 --- a/src/librustdoc/passes/collect_intra_doc_links.rs +++ b/src/librustdoc/passes/collect_intra_doc_links.rs @@ -1,4 +1,3 @@ -use rustc::ty; use rustc_ast::ast::{self, Ident}; use rustc_errors::Applicability; use rustc_expand::base::SyntaxExtensionKind; @@ -10,6 +9,7 @@ use rustc_hir::def::{ PerNS, Res, }; use rustc_hir::def_id::DefId; +use rustc_middle::ty; use rustc_resolve::ParentScope; use rustc_session::lint; use rustc_span::symbol::Symbol; @@ -880,7 +880,7 @@ fn handle_variant( res: Res, extra_fragment: &Option, ) -> Result<(Res, Option), ErrorKind> { - use rustc::ty::DefIdTree; + use rustc_middle::ty::DefIdTree; if extra_fragment.is_some() { return Err(ErrorKind::AnchorFailure("variants cannot be followed by anchors")); diff --git a/src/librustdoc/passes/mod.rs b/src/librustdoc/passes/mod.rs index 38f371783e994..1afa9c7a26858 100644 --- a/src/librustdoc/passes/mod.rs +++ b/src/librustdoc/passes/mod.rs @@ -1,8 +1,8 @@ //! Contains information about "passes", used to modify crate information during the documentation //! process. -use rustc::middle::privacy::AccessLevels; use rustc_hir::def_id::{DefId, DefIdSet}; +use rustc_middle::middle::privacy::AccessLevels; use rustc_session::lint; use rustc_span::{InnerSpan, Span, DUMMY_SP}; use std::mem; diff --git a/src/librustdoc/test.rs b/src/librustdoc/test.rs index 93305a1f87a16..d154de35043d6 100644 --- a/src/librustdoc/test.rs +++ b/src/librustdoc/test.rs @@ -1,5 +1,3 @@ -use rustc::hir::map::Map; -use rustc::util::common::ErrorReported; use rustc_ast::ast; use rustc_ast::with_globals; use rustc_data_structures::sync::Lrc; @@ -7,6 +5,8 @@ use rustc_feature::UnstableFeatures; use rustc_hir as hir; use rustc_hir::intravisit; use rustc_interface::interface; +use rustc_middle::hir::map::Map; +use rustc_middle::util::common::ErrorReported; use rustc_session::{self, config, DiagnosticOutput, Session}; use rustc_span::edition::Edition; use rustc_span::source_map::SourceMap; diff --git a/src/librustdoc/visit_ast.rs b/src/librustdoc/visit_ast.rs index e49395c6fd438..bf4c44879273f 100644 --- a/src/librustdoc/visit_ast.rs +++ b/src/librustdoc/visit_ast.rs @@ -1,14 +1,14 @@ //! The Rust AST Visitor. Extracts useful information and massages it into a form //! usable for `clean`. -use rustc::middle::privacy::AccessLevel; -use rustc::ty::TyCtxt; use rustc_ast::ast; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_hir as hir; use rustc_hir::def::{DefKind, Res}; use rustc_hir::def_id::{DefId, LOCAL_CRATE}; use rustc_hir::Node; +use rustc_middle::middle::privacy::AccessLevel; +use rustc_middle::ty::TyCtxt; use rustc_span::hygiene::MacroKind; use rustc_span::source_map::Spanned; use rustc_span::symbol::{kw, sym}; diff --git a/src/librustdoc/visit_lib.rs b/src/librustdoc/visit_lib.rs index 12ffd6cac81dc..ea2f5f8abc701 100644 --- a/src/librustdoc/visit_lib.rs +++ b/src/librustdoc/visit_lib.rs @@ -1,8 +1,8 @@ -use rustc::middle::privacy::{AccessLevel, AccessLevels}; -use rustc::ty::{TyCtxt, Visibility}; use rustc_data_structures::fx::FxHashSet; use rustc_hir::def::{DefKind, Res}; use rustc_hir::def_id::{CrateNum, DefId, CRATE_DEF_INDEX}; +use rustc_middle::middle::privacy::{AccessLevel, AccessLevels}; +use rustc_middle::ty::{TyCtxt, Visibility}; use rustc_span::symbol::sym; use crate::clean::{AttributesExt, NestedAttributesExt}; diff --git a/src/libstd/alloc.rs b/src/libstd/alloc.rs index 25f3ddcbebab6..79dd89e53bb86 100644 --- a/src/libstd/alloc.rs +++ b/src/libstd/alloc.rs @@ -253,7 +253,7 @@ pub mod __default_lib_allocator { // `__rust_alloc` etc symbols (see `src/liballoc/alloc.rs) when there is // no `#[global_allocator]` attribute. - // for symbol names src/librustc/middle/allocator.rs + // for symbol names src/librustc_middle/middle/allocator.rs // for signatures src/librustc_allocator/lib.rs // linkage directives are provided as part of the current compiler allocator diff --git a/src/test/run-make-fulldeps/hotplug_codegen_backend/the_backend.rs b/src/test/run-make-fulldeps/hotplug_codegen_backend/the_backend.rs index 0e6c39e0affca..7634124071823 100644 --- a/src/test/run-make-fulldeps/hotplug_codegen_backend/the_backend.rs +++ b/src/test/run-make-fulldeps/hotplug_codegen_backend/the_backend.rs @@ -1,7 +1,7 @@ #![feature(rustc_private)] -extern crate rustc; extern crate rustc_codegen_ssa; +extern crate rustc_middle; #[macro_use] extern crate rustc_data_structures; extern crate rustc_driver; @@ -11,14 +11,14 @@ extern crate rustc_span; extern crate rustc_symbol_mangling; extern crate rustc_target; -use rustc::dep_graph::DepGraph; -use rustc::middle::cstore::{EncodedMetadata, MetadataLoader, MetadataLoaderDyn}; -use rustc::ty::query::Providers; -use rustc::ty::TyCtxt; -use rustc::util::common::ErrorReported; use rustc_codegen_ssa::traits::CodegenBackend; use rustc_data_structures::owning_ref::OwningRef; use rustc_data_structures::sync::MetadataRef; +use rustc_middle::dep_graph::DepGraph; +use rustc_middle::middle::cstore::{EncodedMetadata, MetadataLoader, MetadataLoaderDyn}; +use rustc_middle::ty::query::Providers; +use rustc_middle::ty::TyCtxt; +use rustc_middle::util::common::ErrorReported; use rustc_session::config::OutputFilenames; use rustc_session::Session; use rustc_span::symbol::Symbol; diff --git a/src/test/ui-fulldeps/auxiliary/lto-syntax-extension-plugin.rs b/src/test/ui-fulldeps/auxiliary/lto-syntax-extension-plugin.rs index 89bc9a2b9dbf4..5fbb3efabb37b 100644 --- a/src/test/ui-fulldeps/auxiliary/lto-syntax-extension-plugin.rs +++ b/src/test/ui-fulldeps/auxiliary/lto-syntax-extension-plugin.rs @@ -3,7 +3,7 @@ #![feature(plugin_registrar)] #![feature(rustc_private)] -extern crate rustc; +extern crate rustc_middle; extern crate rustc_driver; use rustc_driver::plugin::Registry; diff --git a/src/test/ui-fulldeps/auxiliary/outlive-expansion-phase.rs b/src/test/ui-fulldeps/auxiliary/outlive-expansion-phase.rs index e5c4f5b8f7a66..6584b905f5ed3 100644 --- a/src/test/ui-fulldeps/auxiliary/outlive-expansion-phase.rs +++ b/src/test/ui-fulldeps/auxiliary/outlive-expansion-phase.rs @@ -3,7 +3,7 @@ #![feature(plugin_registrar)] #![feature(box_syntax, rustc_private)] -extern crate rustc; +extern crate rustc_middle; extern crate rustc_driver; use std::any::Any; diff --git a/src/test/ui-fulldeps/auxiliary/rlib-crate-test.rs b/src/test/ui-fulldeps/auxiliary/rlib-crate-test.rs index 1c0de98da56f2..e8e8ae2985a68 100644 --- a/src/test/ui-fulldeps/auxiliary/rlib-crate-test.rs +++ b/src/test/ui-fulldeps/auxiliary/rlib-crate-test.rs @@ -3,7 +3,7 @@ #![crate_type = "rlib"] #![feature(plugin_registrar, rustc_private)] -extern crate rustc; +extern crate rustc_middle; extern crate rustc_driver; use rustc_driver::plugin::Registry; diff --git a/src/test/ui-fulldeps/hash-stable-is-unstable.rs b/src/test/ui-fulldeps/hash-stable-is-unstable.rs index d79ef62c31207..d93e21cf7916c 100644 --- a/src/test/ui-fulldeps/hash-stable-is-unstable.rs +++ b/src/test/ui-fulldeps/hash-stable-is-unstable.rs @@ -2,7 +2,7 @@ extern crate rustc_data_structures; //~^ use of unstable library feature 'rustc_private' -extern crate rustc; +extern crate rustc_middle; //~^ use of unstable library feature 'rustc_private' extern crate rustc_macros; //~^ use of unstable library feature 'rustc_private' diff --git a/src/test/ui-fulldeps/hash-stable-is-unstable.stderr b/src/test/ui-fulldeps/hash-stable-is-unstable.stderr index bc5e2d8937858..3c30e0402d96d 100644 --- a/src/test/ui-fulldeps/hash-stable-is-unstable.stderr +++ b/src/test/ui-fulldeps/hash-stable-is-unstable.stderr @@ -10,8 +10,8 @@ LL | extern crate rustc_data_structures; error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? --> $DIR/hash-stable-is-unstable.rs:5:1 | -LL | extern crate rustc; - | ^^^^^^^^^^^^^^^^^^^ +LL | extern crate rustc_middle; + | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: see issue #27812 for more information = help: add `#![feature(rustc_private)]` to the crate attributes to enable diff --git a/src/test/ui-fulldeps/internal-lints/lint_pass_impl_without_macro.rs b/src/test/ui-fulldeps/internal-lints/lint_pass_impl_without_macro.rs index 8d9cbe45fc696..f6f0c038536c8 100644 --- a/src/test/ui-fulldeps/internal-lints/lint_pass_impl_without_macro.rs +++ b/src/test/ui-fulldeps/internal-lints/lint_pass_impl_without_macro.rs @@ -3,7 +3,7 @@ #![feature(rustc_private)] #![deny(rustc::lint_pass_impl_without_macro)] -extern crate rustc; +extern crate rustc_middle; extern crate rustc_session; use rustc_session::lint::{LintArray, LintPass}; diff --git a/src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs b/src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs index 7564c0245802d..e0fdbaeac3069 100644 --- a/src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs +++ b/src/test/ui-fulldeps/internal-lints/pass_ty_by_ref.rs @@ -4,9 +4,9 @@ #![deny(rustc::ty_pass_by_reference)] #![allow(unused)] -extern crate rustc; +extern crate rustc_middle; -use rustc::ty::{Ty, TyCtxt}; +use rustc_middle::ty::{Ty, TyCtxt}; fn ty_by_ref( ty_val: Ty<'_>, diff --git a/src/test/ui-fulldeps/internal-lints/qualified_ty_ty_ctxt.rs b/src/test/ui-fulldeps/internal-lints/qualified_ty_ty_ctxt.rs index 0040230ec7d7c..32b987338c057 100644 --- a/src/test/ui-fulldeps/internal-lints/qualified_ty_ty_ctxt.rs +++ b/src/test/ui-fulldeps/internal-lints/qualified_ty_ty_ctxt.rs @@ -4,9 +4,9 @@ #![deny(rustc::usage_of_qualified_ty)] #![allow(unused)] -extern crate rustc; +extern crate rustc_middle; -use rustc::ty::{self, Ty, TyCtxt}; +use rustc_middle::ty::{self, Ty, TyCtxt}; macro_rules! qualified_macro { ($a:ident) => { diff --git a/src/test/ui-fulldeps/internal-lints/ty_tykind_usage.rs b/src/test/ui-fulldeps/internal-lints/ty_tykind_usage.rs index f716a78a031f2..66b594a1b095a 100644 --- a/src/test/ui-fulldeps/internal-lints/ty_tykind_usage.rs +++ b/src/test/ui-fulldeps/internal-lints/ty_tykind_usage.rs @@ -2,9 +2,9 @@ #![feature(rustc_private)] -extern crate rustc; +extern crate rustc_middle; -use rustc::ty::{self, Ty, TyKind}; +use rustc_middle::ty::{self, Ty, TyKind}; #[deny(rustc::usage_of_ty_tykind)] fn main() { diff --git a/src/test/ui-fulldeps/pathless-extern-unstable.rs b/src/test/ui-fulldeps/pathless-extern-unstable.rs index 00b3ec5409ff0..524b0c2f73a5d 100644 --- a/src/test/ui-fulldeps/pathless-extern-unstable.rs +++ b/src/test/ui-fulldeps/pathless-extern-unstable.rs @@ -1,10 +1,10 @@ // ignore-stage1 // edition:2018 -// compile-flags:--extern rustc +// compile-flags:--extern rustc_middle -// Test that `--extern rustc` fails with `rustc_private`. +// Test that `--extern rustc_middle` fails with `rustc_private`. -pub use rustc; +pub use rustc_middle; //~^ ERROR use of unstable library feature 'rustc_private' fn main() {} diff --git a/src/test/ui-fulldeps/pathless-extern-unstable.stderr b/src/test/ui-fulldeps/pathless-extern-unstable.stderr index 09f1e600b25d5..dcc3cddd32cfd 100644 --- a/src/test/ui-fulldeps/pathless-extern-unstable.stderr +++ b/src/test/ui-fulldeps/pathless-extern-unstable.stderr @@ -1,8 +1,8 @@ error[E0658]: use of unstable library feature 'rustc_private': this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via `Cargo.toml` instead? --> $DIR/pathless-extern-unstable.rs:7:9 | -LL | pub use rustc; - | ^^^^^ +LL | pub use rustc_middle; + | ^^^^^^^^^^^^ | = note: see issue #27812 for more information = help: add `#![feature(rustc_private)]` to the crate attributes to enable diff --git a/src/test/ui-fulldeps/undef_mask.rs b/src/test/ui-fulldeps/undef_mask.rs index 0caccad622957..cbf1b63d22b0f 100644 --- a/src/test/ui-fulldeps/undef_mask.rs +++ b/src/test/ui-fulldeps/undef_mask.rs @@ -4,10 +4,10 @@ #![feature(rustc_private)] -extern crate rustc; +extern crate rustc_middle; -use rustc::mir::interpret::UndefMask; -use rustc::ty::layout::Size; +use rustc_middle::mir::interpret::UndefMask; +use rustc_middle::ty::layout::Size; fn main() { let mut mask = UndefMask::new(Size::from_bytes(500), false); diff --git a/src/tools/tidy/src/deps.rs b/src/tools/tidy/src/deps.rs index 1ffc415fb2497..a221184fab029 100644 --- a/src/tools/tidy/src/deps.rs +++ b/src/tools/tidy/src/deps.rs @@ -57,7 +57,7 @@ const EXCEPTIONS: &[(&str, &str)] = &[ const RUNTIME_CRATES: &[&str] = &["std", "core", "alloc", "test", "panic_abort", "panic_unwind"]; /// Which crates to check against the whitelist? -const WHITELIST_CRATES: &[&str] = &["rustc", "rustc_codegen_llvm"]; +const WHITELIST_CRATES: &[&str] = &["rustc_middle", "rustc_codegen_llvm"]; /// Whitelist of crates rustc is allowed to depend on. Avoid adding to the list if possible. ///