From 1543367624ac1a42f2dd4ad55fb54edaf4e0127a Mon Sep 17 00:00:00 2001 From: Oliver Schneider Date: Fri, 26 Jan 2018 15:51:33 +0100 Subject: [PATCH] The `const_eval` module is no more --- src/librustc_driver/driver.rs | 5 ++--- src/librustc_mir/build/mod.rs | 2 +- .../{const_eval/check.rs => check_const_err.rs} | 0 src/librustc_mir/hair/mod.rs | 2 +- src/librustc_mir/lib.rs | 5 +++-- src/librustc_mir/{const_eval => pattern}/_match.rs | 4 ++-- src/librustc_mir/{const_eval => pattern}/check_match.rs | 8 ++++---- src/librustc_mir/{const_eval => pattern}/mod.rs | 7 ++++--- src/librustc_mir/{const_eval => pattern}/pattern.rs | 0 9 files changed, 17 insertions(+), 16 deletions(-) rename src/librustc_mir/{const_eval/check.rs => check_const_err.rs} (100%) rename src/librustc_mir/{const_eval => pattern}/_match.rs (99%) rename src/librustc_mir/{const_eval => pattern}/check_match.rs (99%) rename src/librustc_mir/{const_eval => pattern}/mod.rs (85%) rename src/librustc_mir/{const_eval => pattern}/pattern.rs (100%) diff --git a/src/librustc_driver/driver.rs b/src/librustc_driver/driver.rs index 943de1211182..d396e92598a9 100644 --- a/src/librustc_driver/driver.rs +++ b/src/librustc_driver/driver.rs @@ -37,7 +37,6 @@ use rustc_privacy; use rustc_plugin::registry::Registry; use rustc_plugin as plugin; use rustc_passes::{self, ast_validation, loops, consts, hir_stats}; -use rustc_mir::const_eval::check_match; use super::Compilation; use serialize::json; @@ -1049,7 +1048,7 @@ pub fn phase_3_run_analysis_passes<'tcx, F, R>(trans: &TransCrate, time(time_passes, "match checking", - || check_match::check_crate(tcx)); + || mir::pattern::check_crate(tcx)); // this must run before MIR dump, because // "not all control paths return a value" is reported here. @@ -1092,7 +1091,7 @@ pub fn phase_3_run_analysis_passes<'tcx, F, R>(trans: &TransCrate, time(time_passes, "MIR linting", || for def_id in tcx.body_owners() { - mir::const_eval::check::check(tcx, def_id) + mir::check_const_err::check(tcx, def_id) }); time(time_passes, "lint checking", || lint::check_crate(tcx)); diff --git a/src/librustc_mir/build/mod.rs b/src/librustc_mir/build/mod.rs index 0f4d1e5bb0ec..57508cc43a46 100644 --- a/src/librustc_mir/build/mod.rs +++ b/src/librustc_mir/build/mod.rs @@ -21,7 +21,7 @@ use rustc::ty::{self, Ty, TyCtxt}; use rustc::ty::subst::Substs; use rustc::util::nodemap::NodeMap; use rustc_back::PanicStrategy; -use const_eval::pattern::{BindingMode, PatternKind}; +use pattern::pattern::{BindingMode, PatternKind}; use rustc_data_structures::indexed_vec::{IndexVec, Idx}; use shim; use std::mem; diff --git a/src/librustc_mir/const_eval/check.rs b/src/librustc_mir/check_const_err.rs similarity index 100% rename from src/librustc_mir/const_eval/check.rs rename to src/librustc_mir/check_const_err.rs diff --git a/src/librustc_mir/hair/mod.rs b/src/librustc_mir/hair/mod.rs index a7cfa94f6961..3eeaad871015 100644 --- a/src/librustc_mir/hair/mod.rs +++ b/src/librustc_mir/hair/mod.rs @@ -26,7 +26,7 @@ use self::cx::Cx; pub mod cx; -pub use const_eval::pattern::{BindingMode, Pattern, PatternKind, FieldPattern}; +pub use pattern::pattern::{BindingMode, Pattern, PatternKind, FieldPattern}; #[derive(Copy, Clone, Debug)] pub enum LintLevel { diff --git a/src/librustc_mir/lib.rs b/src/librustc_mir/lib.rs index d25caa588faf..43ce6fc67df6 100644 --- a/src/librustc_mir/lib.rs +++ b/src/librustc_mir/lib.rs @@ -71,7 +71,8 @@ pub mod transform; pub mod util; pub mod interpret; pub mod monomorphize; -pub mod const_eval; +pub mod pattern; +pub mod check_const_err; use rustc::ty::maps::Providers; @@ -80,7 +81,7 @@ pub fn provide(providers: &mut Providers) { shim::provide(providers); transform::provide(providers); providers.const_eval = interpret::const_eval_provider; - providers.check_match = const_eval::check_match::check_match; + providers.check_match = pattern::check_match::check_match; } __build_diagnostic_array! { librustc_mir, DIAGNOSTICS } diff --git a/src/librustc_mir/const_eval/_match.rs b/src/librustc_mir/pattern/_match.rs similarity index 99% rename from src/librustc_mir/const_eval/_match.rs rename to src/librustc_mir/pattern/_match.rs index 57feffbaf005..3b3151926d6c 100644 --- a/src/librustc_mir/const_eval/_match.rs +++ b/src/librustc_mir/pattern/_match.rs @@ -17,8 +17,8 @@ use rustc::middle::const_val::ConstVal; use rustc_data_structures::fx::FxHashMap; use rustc_data_structures::indexed_vec::Idx; -use const_eval::pattern::{FieldPattern, Pattern, PatternKind}; -use const_eval::pattern::{PatternFoldable, PatternFolder, compare_const_vals}; +use super::pattern::{FieldPattern, Pattern, PatternKind}; +use super::pattern::{PatternFoldable, PatternFolder, compare_const_vals}; use rustc::hir::def_id::DefId; use rustc::hir::RangeEnd; diff --git a/src/librustc_mir/const_eval/check_match.rs b/src/librustc_mir/pattern/check_match.rs similarity index 99% rename from src/librustc_mir/const_eval/check_match.rs rename to src/librustc_mir/pattern/check_match.rs index 9fbf55396984..05f17c19430b 100644 --- a/src/librustc_mir/const_eval/check_match.rs +++ b/src/librustc_mir/pattern/check_match.rs @@ -8,11 +8,11 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -use const_eval::_match::{MatchCheckCtxt, Matrix, expand_pattern, is_useful}; -use const_eval::_match::Usefulness::*; -use const_eval::_match::WitnessPreference::*; +use super::_match::{MatchCheckCtxt, Matrix, expand_pattern, is_useful}; +use super::_match::Usefulness::*; +use super::_match::WitnessPreference::*; -use const_eval::pattern::{Pattern, PatternContext, PatternError, PatternKind}; +use super::pattern::{Pattern, PatternContext, PatternError, PatternKind}; use rustc::middle::expr_use_visitor::{ConsumeMode, Delegate, ExprUseVisitor}; use rustc::middle::expr_use_visitor::{LoanCause, MutateMode}; diff --git a/src/librustc_mir/const_eval/mod.rs b/src/librustc_mir/pattern/mod.rs similarity index 85% rename from src/librustc_mir/const_eval/mod.rs rename to src/librustc_mir/pattern/mod.rs index fff1122387f2..ff5ddc93a4ba 100644 --- a/src/librustc_mir/const_eval/mod.rs +++ b/src/librustc_mir/pattern/mod.rs @@ -11,6 +11,7 @@ //! constant evaluation on the HIR and code to validate patterns/matches mod _match; -pub mod check_match; -pub mod pattern; -pub mod check; +pub(crate) mod check_match; +pub(crate) mod pattern; + +pub use self::check_match::check_crate; diff --git a/src/librustc_mir/const_eval/pattern.rs b/src/librustc_mir/pattern/pattern.rs similarity index 100% rename from src/librustc_mir/const_eval/pattern.rs rename to src/librustc_mir/pattern/pattern.rs