diff --git a/src/librustc_codegen_llvm/abi.rs b/src/librustc_codegen_llvm/abi.rs index 89e9e12a8a3..76fc5a6eeec 100644 --- a/src/librustc_codegen_llvm/abi.rs +++ b/src/librustc_codegen_llvm/abi.rs @@ -19,7 +19,7 @@ use type_of::{LayoutLlvmExt, PointerKind}; use value::Value; use rustc_target::abi::call::ArgType; -use rustc_codegen_ssa::interfaces::*; +use rustc_codegen_ssa::traits::*; use rustc_target::abi::{HasDataLayout, LayoutOf, Size, TyLayout, Abi as LayoutAbi}; use rustc::ty::{self, Ty, Instance}; diff --git a/src/librustc_codegen_llvm/asm.rs b/src/librustc_codegen_llvm/asm.rs index 7f0e18e1aeb..efbe7cad138 100644 --- a/src/librustc_codegen_llvm/asm.rs +++ b/src/librustc_codegen_llvm/asm.rs @@ -15,7 +15,7 @@ use builder::Builder; use value::Value; use rustc::hir; -use rustc_codegen_ssa::interfaces::*; +use rustc_codegen_ssa::traits::*; use rustc_codegen_ssa::mir::place::PlaceRef; use rustc_codegen_ssa::mir::operand::OperandValue; diff --git a/src/librustc_codegen_llvm/attributes.rs b/src/librustc_codegen_llvm/attributes.rs index a6ecd1ab55d..38ab1302cfa 100644 --- a/src/librustc_codegen_llvm/attributes.rs +++ b/src/librustc_codegen_llvm/attributes.rs @@ -21,7 +21,7 @@ use rustc::ty::query::Providers; use rustc_data_structures::sync::Lrc; use rustc_data_structures::fx::FxHashMap; use rustc_target::spec::PanicStrategy; -use rustc_codegen_ssa::interfaces::*; +use rustc_codegen_ssa::traits::*; use attributes; use llvm::{self, Attribute}; diff --git a/src/librustc_codegen_llvm/back/lto.rs b/src/librustc_codegen_llvm/back/lto.rs index 2fc8deeec8a..b5ebd0409da 100644 --- a/src/librustc_codegen_llvm/back/lto.rs +++ b/src/librustc_codegen_llvm/back/lto.rs @@ -12,7 +12,7 @@ use back::bytecode::{DecodedBytecode, RLIB_BYTECODE_EXTENSION}; use rustc_codegen_ssa::back::symbol_export; use rustc_codegen_ssa::back::write::{ModuleConfig, CodegenContext, pre_lto_bitcode_filename}; use rustc_codegen_ssa::back::lto::{SerializedModule, LtoModuleCodegen, ThinShared, ThinModule}; -use rustc_codegen_ssa::interfaces::*; +use rustc_codegen_ssa::traits::*; use back::write::{self, DiagnosticHandlers, with_llvm_pmb, save_temp_bitcode, get_llvm_opt_level}; use errors::{FatalError, Handler}; use llvm::archive_ro::ArchiveRO; diff --git a/src/librustc_codegen_llvm/back/write.rs b/src/librustc_codegen_llvm/back/write.rs index 97adfab516f..7945d381760 100644 --- a/src/librustc_codegen_llvm/back/write.rs +++ b/src/librustc_codegen_llvm/back/write.rs @@ -12,7 +12,7 @@ use attributes; use back::bytecode::{self, RLIB_BYTECODE_EXTENSION}; use back::lto::ThinBuffer; use rustc_codegen_ssa::back::write::{CodegenContext, ModuleConfig, run_assembler}; -use rustc_codegen_ssa::interfaces::*; +use rustc_codegen_ssa::traits::*; use base; use consts; use rustc::session::config::{self, OutputType, Passes, Lto}; diff --git a/src/librustc_codegen_llvm/base.rs b/src/librustc_codegen_llvm/base.rs index 102fc95529d..a1ec133214a 100644 --- a/src/librustc_codegen_llvm/base.rs +++ b/src/librustc_codegen_llvm/base.rs @@ -42,7 +42,7 @@ use monomorphize::partitioning::CodegenUnitExt; use rustc_codegen_ssa::mono_item::MonoItemExt; use rustc_data_structures::small_c_str::SmallCStr; -use rustc_codegen_ssa::interfaces::*; +use rustc_codegen_ssa::traits::*; use rustc_codegen_ssa::back::write::submit_codegened_module_to_llvm; use std::ffi::CString; diff --git a/src/librustc_codegen_llvm/builder.rs b/src/librustc_codegen_llvm/builder.rs index b8df95e3183..a71fe781f6a 100644 --- a/src/librustc_codegen_llvm/builder.rs +++ b/src/librustc_codegen_llvm/builder.rs @@ -22,7 +22,7 @@ use rustc::ty::{self, Ty, TyCtxt}; use rustc::ty::layout::{self, Align, Size, TyLayout}; use rustc::session::config; use rustc_data_structures::small_c_str::SmallCStr; -use rustc_codegen_ssa::interfaces::*; +use rustc_codegen_ssa::traits::*; use syntax; use rustc_codegen_ssa::base::to_immediate; use rustc_codegen_ssa::mir::operand::{OperandValue, OperandRef}; diff --git a/src/librustc_codegen_llvm/callee.rs b/src/librustc_codegen_llvm/callee.rs index e7c6cc50eba..e79880e8de0 100644 --- a/src/librustc_codegen_llvm/callee.rs +++ b/src/librustc_codegen_llvm/callee.rs @@ -19,7 +19,7 @@ use llvm; use monomorphize::Instance; use context::CodegenCx; use value::Value; -use rustc_codegen_ssa::interfaces::*; +use rustc_codegen_ssa::traits::*; use rustc::ty::TypeFoldable; use rustc::ty::layout::{LayoutOf, HasTyCtxt}; diff --git a/src/librustc_codegen_llvm/common.rs b/src/librustc_codegen_llvm/common.rs index 11fc67fb92b..2fc505d42db 100644 --- a/src/librustc_codegen_llvm/common.rs +++ b/src/librustc_codegen_llvm/common.rs @@ -18,7 +18,7 @@ use consts; use type_::Type; use type_of::LayoutLlvmExt; use value::Value; -use rustc_codegen_ssa::interfaces::*; +use rustc_codegen_ssa::traits::*; use rustc::ty::layout::{HasDataLayout, LayoutOf, self, TyLayout, Size}; use rustc::mir::interpret::{Scalar, AllocType, Allocation}; diff --git a/src/librustc_codegen_llvm/consts.rs b/src/librustc_codegen_llvm/consts.rs index 5e45a4f68ae..821ac931aac 100644 --- a/src/librustc_codegen_llvm/consts.rs +++ b/src/librustc_codegen_llvm/consts.rs @@ -26,7 +26,7 @@ use type_::Type; use type_of::LayoutLlvmExt; use value::Value; use rustc::ty::{self, Ty}; -use rustc_codegen_ssa::interfaces::*; +use rustc_codegen_ssa::traits::*; use rustc::ty::layout::{self, Size, Align, LayoutOf}; diff --git a/src/librustc_codegen_llvm/context.rs b/src/librustc_codegen_llvm/context.rs index 2e229c0f4d1..4a7ef9f8374 100644 --- a/src/librustc_codegen_llvm/context.rs +++ b/src/librustc_codegen_llvm/context.rs @@ -20,7 +20,7 @@ use value::Value; use monomorphize::partitioning::CodegenUnit; use type_::Type; use type_of::PointeeInfo; -use rustc_codegen_ssa::interfaces::*; +use rustc_codegen_ssa::traits::*; use libc::c_uint; use rustc_data_structures::base_n; diff --git a/src/librustc_codegen_llvm/debuginfo/gdb.rs b/src/librustc_codegen_llvm/debuginfo/gdb.rs index d6a7f04e163..0046a072366 100644 --- a/src/librustc_codegen_llvm/debuginfo/gdb.rs +++ b/src/librustc_codegen_llvm/debuginfo/gdb.rs @@ -16,7 +16,7 @@ use common::CodegenCx; use builder::Builder; use rustc::session::config::DebugInfo; use value::Value; -use rustc_codegen_ssa::interfaces::*; +use rustc_codegen_ssa::traits::*; use syntax::attr; diff --git a/src/librustc_codegen_llvm/debuginfo/metadata.rs b/src/librustc_codegen_llvm/debuginfo/metadata.rs index 8a72fef49d7..1c787a96932 100644 --- a/src/librustc_codegen_llvm/debuginfo/metadata.rs +++ b/src/librustc_codegen_llvm/debuginfo/metadata.rs @@ -17,7 +17,7 @@ use super::utils::{debug_context, DIB, span_start, use super::namespace::mangled_name_of_instance; use super::type_names::compute_debuginfo_type_name; use super::{CrateDebugContext}; -use rustc_codegen_ssa::interfaces::*; +use rustc_codegen_ssa::traits::*; use abi; use value::Value; diff --git a/src/librustc_codegen_llvm/debuginfo/mod.rs b/src/librustc_codegen_llvm/debuginfo/mod.rs index 3a7e393f1dc..9784cc6cf9c 100644 --- a/src/librustc_codegen_llvm/debuginfo/mod.rs +++ b/src/librustc_codegen_llvm/debuginfo/mod.rs @@ -49,7 +49,7 @@ use syntax_pos::{self, Span, Pos}; use syntax::ast; use syntax::symbol::{Symbol, InternedString}; use rustc::ty::layout::{self, LayoutOf, HasTyCtxt}; -use rustc_codegen_ssa::interfaces::*; +use rustc_codegen_ssa::traits::*; pub mod gdb; mod utils; diff --git a/src/librustc_codegen_llvm/debuginfo/source_loc.rs b/src/librustc_codegen_llvm/debuginfo/source_loc.rs index e4065b6ef36..c6772e8c98e 100644 --- a/src/librustc_codegen_llvm/debuginfo/source_loc.rs +++ b/src/librustc_codegen_llvm/debuginfo/source_loc.rs @@ -17,7 +17,7 @@ use rustc_codegen_ssa::debuginfo::FunctionDebugContext; use llvm; use llvm::debuginfo::DIScope; use builder::Builder; -use rustc_codegen_ssa::interfaces::*; +use rustc_codegen_ssa::traits::*; use libc::c_uint; use syntax_pos::{Span, Pos}; diff --git a/src/librustc_codegen_llvm/debuginfo/type_names.rs b/src/librustc_codegen_llvm/debuginfo/type_names.rs index d8fd8b7f7f4..c3a15ccca0a 100644 --- a/src/librustc_codegen_llvm/debuginfo/type_names.rs +++ b/src/librustc_codegen_llvm/debuginfo/type_names.rs @@ -14,7 +14,7 @@ use common::CodegenCx; use rustc::hir::def_id::DefId; use rustc::ty::subst::Substs; use rustc::ty::{self, Ty}; -use rustc_codegen_ssa::interfaces::*; +use rustc_codegen_ssa::traits::*; use rustc::hir; diff --git a/src/librustc_codegen_llvm/debuginfo/utils.rs b/src/librustc_codegen_llvm/debuginfo/utils.rs index ddd1a176957..89262beb356 100644 --- a/src/librustc_codegen_llvm/debuginfo/utils.rs +++ b/src/librustc_codegen_llvm/debuginfo/utils.rs @@ -19,7 +19,7 @@ use rustc::ty::DefIdTree; use llvm; use llvm::debuginfo::{DIScope, DIBuilder, DIDescriptor, DIArray}; use common::{CodegenCx}; -use rustc_codegen_ssa::interfaces::*; +use rustc_codegen_ssa::traits::*; use syntax_pos::{self, Span}; diff --git a/src/librustc_codegen_llvm/declare.rs b/src/librustc_codegen_llvm/declare.rs index 135780048ae..c23aab409a9 100644 --- a/src/librustc_codegen_llvm/declare.rs +++ b/src/librustc_codegen_llvm/declare.rs @@ -31,7 +31,7 @@ use abi::{Abi, FnType, FnTypeExt}; use attributes; use context::CodegenCx; use type_::Type; -use rustc_codegen_ssa::interfaces::*; +use rustc_codegen_ssa::traits::*; use value::Value; /// Declare a function. diff --git a/src/librustc_codegen_llvm/intrinsic.rs b/src/librustc_codegen_llvm/intrinsic.rs index c2f00d60af2..b2f1f933da4 100644 --- a/src/librustc_codegen_llvm/intrinsic.rs +++ b/src/librustc_codegen_llvm/intrinsic.rs @@ -32,7 +32,7 @@ use syntax::symbol::Symbol; use builder::Builder; use value::Value; -use rustc_codegen_ssa::interfaces::*; +use rustc_codegen_ssa::traits::*; use rustc::session::Session; use syntax_pos::Span; diff --git a/src/librustc_codegen_llvm/lib.rs b/src/librustc_codegen_llvm/lib.rs index 9d569a4e28c..f904a928d53 100644 --- a/src/librustc_codegen_llvm/lib.rs +++ b/src/librustc_codegen_llvm/lib.rs @@ -67,7 +67,7 @@ extern crate cc; // Used to locate MSVC extern crate tempfile; extern crate memmap; -use rustc_codegen_ssa::interfaces::*; +use rustc_codegen_ssa::traits::*; use rustc_codegen_ssa::back::write::{CodegenContext, ModuleConfig}; use rustc_codegen_ssa::back::lto::{SerializedModule, LtoModuleCodegen, ThinModule}; use rustc_codegen_ssa::CompiledModule; diff --git a/src/librustc_codegen_llvm/mono_item.rs b/src/librustc_codegen_llvm/mono_item.rs index 7111644ebb8..9b2d17d65ca 100644 --- a/src/librustc_codegen_llvm/mono_item.rs +++ b/src/librustc_codegen_llvm/mono_item.rs @@ -18,7 +18,7 @@ use rustc::hir::def_id::{DefId, LOCAL_CRATE}; use rustc::mir::mono::{Linkage, Visibility}; use rustc::ty::TypeFoldable; use rustc::ty::layout::{LayoutOf, HasTyCtxt}; -use rustc_codegen_ssa::interfaces::*; +use rustc_codegen_ssa::traits::*; pub use rustc::mir::mono::MonoItem; diff --git a/src/librustc_codegen_llvm/type_.rs b/src/librustc_codegen_llvm/type_.rs index 53151fef509..5c4ebc35240 100644 --- a/src/librustc_codegen_llvm/type_.rs +++ b/src/librustc_codegen_llvm/type_.rs @@ -15,7 +15,7 @@ pub use llvm::Type; use llvm; use llvm::{Bool, False, True}; use context::CodegenCx; -use rustc_codegen_ssa::interfaces::*; +use rustc_codegen_ssa::traits::*; use value::Value; use rustc::util::nodemap::FxHashMap; diff --git a/src/librustc_codegen_llvm/type_of.rs b/src/librustc_codegen_llvm/type_of.rs index 880da34137d..90c02cddb2b 100644 --- a/src/librustc_codegen_llvm/type_of.rs +++ b/src/librustc_codegen_llvm/type_of.rs @@ -16,7 +16,7 @@ use rustc::ty::layout::{self, Align, LayoutOf, Size, TyLayout}; use rustc_target::abi::FloatTy; use rustc_mir::monomorphize::item::DefPathBasedNames; use type_::Type; -use rustc_codegen_ssa::interfaces::*; +use rustc_codegen_ssa::traits::*; use std::fmt::Write; diff --git a/src/librustc_codegen_ssa/README.md b/src/librustc_codegen_ssa/README.md index 2178c227956..b7bf0b099e9 100644 --- a/src/librustc_codegen_ssa/README.md +++ b/src/librustc_codegen_ssa/README.md @@ -20,7 +20,7 @@ For these reasons, the separation process involves two transformations that have 1. replace all the LLVM-specific types by generics inside function signatures and structure definitions; 2. encapsulate all functions calling the LLVM FFI inside a set of traits that will define the interface between backend-agnostic code and the backend. -While the LLVM-specific code will be left in `rustc_codegen_llvm`, all the new interfaces and backend-agnostic code will be moved in `rustc_codegen_ssa` (name suggestion by @eddyb). +While the LLVM-specific code will be left in `rustc_codegen_llvm`, all the new traits and backend-agnostic code will be moved in `rustc_codegen_ssa` (name suggestion by @eddyb). ## Generic types and structures @@ -58,7 +58,7 @@ However, the two most important structures `CodegenCx` and `Builder` are not def ## Traits and interface -Because they have to be defined by the backend, `CodegenCx` and `Builder` will be the structures implementing all the traits defining the backend's interface. These traits are defined in the folder `rustc_codegen_ssa/interfaces` and all the backend-agnostic code is parametrized by them. For instance, let us explain how a function in `base.rs` is parametrized: +Because they have to be defined by the backend, `CodegenCx` and `Builder` will be the structures implementing all the traits defining the backend's interface. These traits are defined in the folder `rustc_codegen_ssa/traits` and all the backend-agnostic code is parametrized by them. For instance, let us explain how a function in `base.rs` is parametrized: ```rust pub fn codegen_instance<'a, 'tcx: 'a, Bx: BuilderMethods<'a, 'tcx>>( @@ -71,7 +71,7 @@ pub fn codegen_instance<'a, 'tcx: 'a, Bx: BuilderMethods<'a, 'tcx>>( In this signature, we have the two lifetime parameters explained earlier and the master type `Bx` which satisfies the trait `BuilderMethods` corresponding to the interface satisfied by the `Builder` struct. The `BuilderMethods` defines an associated type `Bx::CodegenCx` that itself satisfies the `CodegenMethods` traits implemented by the struct `CodegenCx`. -On the trait side, here is an example with part of the definition of `BuilderMethods` in `interfaces/builder.rs`: +On the trait side, here is an example with part of the definition of `BuilderMethods` in `traits/builder.rs`: ```rust pub trait BuilderMethods<'a, 'tcx: 'a>: @@ -116,6 +116,6 @@ However, the current separation between backend-agnostic and LLVM-specific code The `debuginfo` folder has been left almost untouched by the splitting and is specific to LLVM. Only its high-level features have been traitified. -The new `interfaces` folder has 1500 LOC only for trait definitions. Overall, the 27,000 LOC-sized old `rustc_codegen_llvm` code has been split into the new 18,500 LOC-sized new `rustc_codegen_llvm` and the 12,000 LOC-sized `rustc_codegen_ssa`. We can say that this refactoring allowed the reuse of approximately 10,000 LOC that would otherwise have had to be duplicated between the multiple backends of `rustc`. +The new `traits` folder has 1500 LOC only for trait definitions. Overall, the 27,000 LOC-sized old `rustc_codegen_llvm` code has been split into the new 18,500 LOC-sized new `rustc_codegen_llvm` and the 12,000 LOC-sized `rustc_codegen_ssa`. We can say that this refactoring allowed the reuse of approximately 10,000 LOC that would otherwise have had to be duplicated between the multiple backends of `rustc`. The refactored version of `rustc`'s backend introduced no regression over the test suite nor in performance benchmark, which is in coherence with the nature of the refactoring that used only compile-time parametricity (no trait objects). diff --git a/src/librustc_codegen_ssa/back/lto.rs b/src/librustc_codegen_ssa/back/lto.rs index f68a82d8780..8d03edca004 100644 --- a/src/librustc_codegen_ssa/back/lto.rs +++ b/src/librustc_codegen_ssa/back/lto.rs @@ -9,7 +9,7 @@ // except according to those terms. use super::write::CodegenContext; -use interfaces::*; +use traits::*; use ModuleCodegen; use rustc::util::time_graph::Timeline; diff --git a/src/librustc_codegen_ssa/back/write.rs b/src/librustc_codegen_ssa/back/write.rs index e8cf9e7f40a..46aee5339ba 100644 --- a/src/librustc_codegen_ssa/back/write.rs +++ b/src/librustc_codegen_ssa/back/write.rs @@ -26,7 +26,7 @@ use rustc::session::config::{self, OutputFilenames, OutputType, Passes, Sanitize use rustc::session::Session; use rustc::util::nodemap::FxHashMap; use rustc::util::time_graph::{self, TimeGraph, Timeline}; -use interfaces::*; +use traits::*; use rustc::hir::def_id::{CrateNum, LOCAL_CRATE}; use rustc::ty::TyCtxt; use rustc::util::common::{time_depth, set_time_depth, print_time_passes_entry}; diff --git a/src/librustc_codegen_ssa/base.rs b/src/librustc_codegen_ssa/base.rs index a590dcd3ea8..856bb9533c8 100644 --- a/src/librustc_codegen_ssa/base.rs +++ b/src/librustc_codegen_ssa/base.rs @@ -57,7 +57,7 @@ use rustc_data_structures::sync::Lrc; use rustc_codegen_utils::{symbol_names_test, check_for_rustc_errors_attr}; use rustc::ty::layout::{FAT_PTR_ADDR, FAT_PTR_EXTRA}; -use interfaces::*; +use traits::*; use std::any::Any; use std::cmp; diff --git a/src/librustc_codegen_ssa/callee.rs b/src/librustc_codegen_ssa/callee.rs index 3d8f96573db..5ff1d9b5992 100644 --- a/src/librustc_codegen_ssa/callee.rs +++ b/src/librustc_codegen_ssa/callee.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -use interfaces::*; +use traits::*; use rustc::ty; use rustc::ty::subst::Substs; use rustc::hir::def_id::DefId; diff --git a/src/librustc_codegen_ssa/common.rs b/src/librustc_codegen_ssa/common.rs index 1115a74556c..6259318a3c9 100644 --- a/src/librustc_codegen_ssa/common.rs +++ b/src/librustc_codegen_ssa/common.rs @@ -15,10 +15,10 @@ use syntax_pos::{DUMMY_SP, Span}; use rustc::hir::def_id::DefId; use rustc::middle::lang_items::LangItem; use base; -use interfaces::*; +use traits::*; use rustc::hir; -use interfaces::BuilderMethods; +use traits::BuilderMethods; pub fn type_needs_drop<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>, ty: Ty<'tcx>) -> bool { ty.needs_drop(tcx, ty::ParamEnv::reveal_all()) diff --git a/src/librustc_codegen_ssa/glue.rs b/src/librustc_codegen_ssa/glue.rs index 60485240bd6..515f36b5c65 100644 --- a/src/librustc_codegen_ssa/glue.rs +++ b/src/librustc_codegen_ssa/glue.rs @@ -18,7 +18,7 @@ use common::IntPredicate; use meth; use rustc::ty::layout::LayoutOf; use rustc::ty::{self, Ty}; -use interfaces::*; +use traits::*; pub fn size_and_align_of_dst<'a, 'tcx: 'a, Bx: BuilderMethods<'a, 'tcx>>( bx: &mut Bx, diff --git a/src/librustc_codegen_ssa/lib.rs b/src/librustc_codegen_ssa/lib.rs index e779d8f1469..24ede4db6e3 100644 --- a/src/librustc_codegen_ssa/lib.rs +++ b/src/librustc_codegen_ssa/lib.rs @@ -66,7 +66,7 @@ use syntax_pos::symbol::Symbol; mod diagnostics; pub mod common; -pub mod interfaces; +pub mod traits; pub mod mir; pub mod debuginfo; pub mod base; diff --git a/src/librustc_codegen_ssa/meth.rs b/src/librustc_codegen_ssa/meth.rs index ea573640da9..06c4f7a87d8 100644 --- a/src/librustc_codegen_ssa/meth.rs +++ b/src/librustc_codegen_ssa/meth.rs @@ -12,7 +12,7 @@ use rustc_target::abi::call::FnType; use callee; use rustc_mir::monomorphize; -use interfaces::*; +use traits::*; use rustc::ty::{self, Ty}; diff --git a/src/librustc_codegen_ssa/mir/analyze.rs b/src/librustc_codegen_ssa/mir/analyze.rs index 2dc6ae3a049..c7e2c76c3e5 100644 --- a/src/librustc_codegen_ssa/mir/analyze.rs +++ b/src/librustc_codegen_ssa/mir/analyze.rs @@ -20,7 +20,7 @@ use rustc::mir::traversal; use rustc::ty; use rustc::ty::layout::{LayoutOf, HasTyCtxt}; use super::FunctionCx; -use interfaces::*; +use traits::*; pub fn non_ssa_locals<'a, 'tcx: 'a, 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 e358c057a43..1702ad19b76 100644 --- a/src/librustc_codegen_ssa/mir/block.rs +++ b/src/librustc_codegen_ssa/mir/block.rs @@ -21,7 +21,7 @@ use common::{self, IntPredicate}; use meth; use rustc_mir::monomorphize; -use interfaces::*; +use traits::*; use syntax::symbol::Symbol; use syntax_pos::Pos; diff --git a/src/librustc_codegen_ssa/mir/constant.rs b/src/librustc_codegen_ssa/mir/constant.rs index b71a0bc54b1..568e1f0b38a 100644 --- a/src/librustc_codegen_ssa/mir/constant.rs +++ b/src/librustc_codegen_ssa/mir/constant.rs @@ -16,7 +16,7 @@ use rustc::mir::interpret::{GlobalId, ConstValue}; use rustc::ty::{self, Ty}; use rustc::ty::layout::{self, LayoutOf}; use syntax::source_map::Span; -use interfaces::*; +use traits::*; use super::FunctionCx; diff --git a/src/librustc_codegen_ssa/mir/mod.rs b/src/librustc_codegen_ssa/mir/mod.rs index 873c3ee367c..0579afe1d49 100644 --- a/src/librustc_codegen_ssa/mir/mod.rs +++ b/src/librustc_codegen_ssa/mir/mod.rs @@ -18,7 +18,7 @@ use base; use debuginfo::{self, VariableAccess, VariableKind, FunctionDebugContext}; use rustc_mir::monomorphize::Instance; use rustc_target::abi::call::{FnType, PassMode}; -use interfaces::*; +use traits::*; use syntax_pos::{DUMMY_SP, NO_EXPANSION, BytePos, Span}; use syntax::symbol::keywords; diff --git a/src/librustc_codegen_ssa/mir/operand.rs b/src/librustc_codegen_ssa/mir/operand.rs index 10b1dad5002..d574d89d67e 100644 --- a/src/librustc_codegen_ssa/mir/operand.rs +++ b/src/librustc_codegen_ssa/mir/operand.rs @@ -17,7 +17,7 @@ use base; use MemFlags; use glue; -use interfaces::*; +use traits::*; use std::fmt; diff --git a/src/librustc_codegen_ssa/mir/place.rs b/src/librustc_codegen_ssa/mir/place.rs index 39574f0c2a9..5b36ee8fd18 100644 --- a/src/librustc_codegen_ssa/mir/place.rs +++ b/src/librustc_codegen_ssa/mir/place.rs @@ -16,7 +16,7 @@ use MemFlags; use common::IntPredicate; use glue; -use interfaces::*; +use traits::*; use super::{FunctionCx, LocalRef}; use super::operand::OperandValue; diff --git a/src/librustc_codegen_ssa/mir/rvalue.rs b/src/librustc_codegen_ssa/mir/rvalue.rs index 2cc7ed12550..6b1efa060fd 100644 --- a/src/librustc_codegen_ssa/mir/rvalue.rs +++ b/src/librustc_codegen_ssa/mir/rvalue.rs @@ -22,7 +22,7 @@ use callee; use common::{self, RealPredicate, IntPredicate}; use rustc_mir::monomorphize; -use interfaces::*; +use traits::*; use super::{FunctionCx, LocalRef}; use super::operand::{OperandRef, OperandValue}; diff --git a/src/librustc_codegen_ssa/mir/statement.rs b/src/librustc_codegen_ssa/mir/statement.rs index 0303a221ac5..a69474142ab 100644 --- a/src/librustc_codegen_ssa/mir/statement.rs +++ b/src/librustc_codegen_ssa/mir/statement.rs @@ -10,11 +10,11 @@ use rustc::mir; -use interfaces::BuilderMethods; +use traits::BuilderMethods; use super::FunctionCx; use super::LocalRef; use super::OperandValue; -use interfaces::*; +use traits::*; impl<'a, 'tcx: 'a, Bx: BuilderMethods<'a, 'tcx>> FunctionCx<'a, 'tcx, Bx> { pub fn codegen_statement( diff --git a/src/librustc_codegen_ssa/mono_item.rs b/src/librustc_codegen_ssa/mono_item.rs index 508055ffc5a..53acb3e376c 100644 --- a/src/librustc_codegen_ssa/mono_item.rs +++ b/src/librustc_codegen_ssa/mono_item.rs @@ -20,7 +20,7 @@ use rustc::hir::def::Def; use rustc::mir::mono::{Linkage, Visibility}; use rustc::ty::layout::HasTyCtxt; use std::fmt; -use interfaces::*; +use traits::*; pub use rustc::mir::mono::MonoItem; diff --git a/src/librustc_codegen_ssa/interfaces/abi.rs b/src/librustc_codegen_ssa/traits/abi.rs similarity index 100% rename from src/librustc_codegen_ssa/interfaces/abi.rs rename to src/librustc_codegen_ssa/traits/abi.rs diff --git a/src/librustc_codegen_ssa/interfaces/asm.rs b/src/librustc_codegen_ssa/traits/asm.rs similarity index 100% rename from src/librustc_codegen_ssa/interfaces/asm.rs rename to src/librustc_codegen_ssa/traits/asm.rs diff --git a/src/librustc_codegen_ssa/interfaces/backend.rs b/src/librustc_codegen_ssa/traits/backend.rs similarity index 100% rename from src/librustc_codegen_ssa/interfaces/backend.rs rename to src/librustc_codegen_ssa/traits/backend.rs diff --git a/src/librustc_codegen_ssa/interfaces/builder.rs b/src/librustc_codegen_ssa/traits/builder.rs similarity index 100% rename from src/librustc_codegen_ssa/interfaces/builder.rs rename to src/librustc_codegen_ssa/traits/builder.rs diff --git a/src/librustc_codegen_ssa/interfaces/consts.rs b/src/librustc_codegen_ssa/traits/consts.rs similarity index 100% rename from src/librustc_codegen_ssa/interfaces/consts.rs rename to src/librustc_codegen_ssa/traits/consts.rs diff --git a/src/librustc_codegen_ssa/interfaces/debuginfo.rs b/src/librustc_codegen_ssa/traits/debuginfo.rs similarity index 100% rename from src/librustc_codegen_ssa/interfaces/debuginfo.rs rename to src/librustc_codegen_ssa/traits/debuginfo.rs diff --git a/src/librustc_codegen_ssa/interfaces/declare.rs b/src/librustc_codegen_ssa/traits/declare.rs similarity index 100% rename from src/librustc_codegen_ssa/interfaces/declare.rs rename to src/librustc_codegen_ssa/traits/declare.rs diff --git a/src/librustc_codegen_ssa/interfaces/intrinsic.rs b/src/librustc_codegen_ssa/traits/intrinsic.rs similarity index 100% rename from src/librustc_codegen_ssa/interfaces/intrinsic.rs rename to src/librustc_codegen_ssa/traits/intrinsic.rs diff --git a/src/librustc_codegen_ssa/interfaces/misc.rs b/src/librustc_codegen_ssa/traits/misc.rs similarity index 100% rename from src/librustc_codegen_ssa/interfaces/misc.rs rename to src/librustc_codegen_ssa/traits/misc.rs diff --git a/src/librustc_codegen_ssa/interfaces/mod.rs b/src/librustc_codegen_ssa/traits/mod.rs similarity index 100% rename from src/librustc_codegen_ssa/interfaces/mod.rs rename to src/librustc_codegen_ssa/traits/mod.rs diff --git a/src/librustc_codegen_ssa/interfaces/statics.rs b/src/librustc_codegen_ssa/traits/statics.rs similarity index 100% rename from src/librustc_codegen_ssa/interfaces/statics.rs rename to src/librustc_codegen_ssa/traits/statics.rs diff --git a/src/librustc_codegen_ssa/interfaces/type_.rs b/src/librustc_codegen_ssa/traits/type_.rs similarity index 100% rename from src/librustc_codegen_ssa/interfaces/type_.rs rename to src/librustc_codegen_ssa/traits/type_.rs diff --git a/src/librustc_codegen_ssa/interfaces/write.rs b/src/librustc_codegen_ssa/traits/write.rs similarity index 100% rename from src/librustc_codegen_ssa/interfaces/write.rs rename to src/librustc_codegen_ssa/traits/write.rs