diff options
| author | Niko Matsakis <niko@alum.mit.edu> | 2017-05-17 08:01:04 -0400 |
|---|---|---|
| committer | Niko Matsakis <niko@alum.mit.edu> | 2017-06-01 12:56:30 -0400 |
| commit | 6c4b961effdbec1bb2fc5aaed5aeb219eb7f3b19 (patch) | |
| tree | 233aa1400d06b283de46fb2c624461c29045e386 /src/librustc_mir/transform | |
| parent | 4ed2edaafe82fb8d44e81e00ca3e4f7659855ba2 (diff) | |
| download | rust-6c4b961effdbec1bb2fc5aaed5aeb219eb7f3b19.tar.gz rust-6c4b961effdbec1bb2fc5aaed5aeb219eb7f3b19.zip | |
move projection mode into parameter environment
Diffstat (limited to 'src/librustc_mir/transform')
| -rw-r--r-- | src/librustc_mir/transform/inline.rs | 6 | ||||
| -rw-r--r-- | src/librustc_mir/transform/qualify_consts.rs | 2 | ||||
| -rw-r--r-- | src/librustc_mir/transform/type_check.rs | 4 |
3 files changed, 6 insertions, 6 deletions
diff --git a/src/librustc_mir/transform/inline.rs b/src/librustc_mir/transform/inline.rs index edb2f44d18e..8842d30b65c 100644 --- a/src/librustc_mir/transform/inline.rs +++ b/src/librustc_mir/transform/inline.rs @@ -18,7 +18,6 @@ use rustc_data_structures::indexed_vec::{Idx, IndexVec}; use rustc::mir::*; use rustc::mir::transform::{MirPass, MirSource}; use rustc::mir::visit::*; -use rustc::traits; use rustc::ty::{self, Ty, TyCtxt}; use rustc::ty::subst::{Subst,Substs}; @@ -545,9 +544,10 @@ impl<'a, 'tcx> Inliner<'a, 'tcx> { } } -fn type_size_of<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>, param_env: ty::ParamEnv<'tcx>, +fn type_size_of<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>, + param_env: ty::ParamEnv<'tcx>, ty: Ty<'tcx>) -> Option<u64> { - tcx.infer_ctxt(param_env, traits::Reveal::All).enter(|infcx| { + tcx.infer_ctxt(param_env.reveal_all()).enter(|infcx| { ty.layout(&infcx).ok().map(|layout| { layout.size(&tcx.data_layout).bytes() }) diff --git a/src/librustc_mir/transform/qualify_consts.rs b/src/librustc_mir/transform/qualify_consts.rs index 3b1c54f68e4..7c49a11ca1f 100644 --- a/src/librustc_mir/transform/qualify_consts.rs +++ b/src/librustc_mir/transform/qualify_consts.rs @@ -998,7 +998,7 @@ impl MirPass for QualifyAndPromoteConstants { // Statics must be Sync. if mode == Mode::Static { let ty = mir.return_ty; - tcx.infer_ctxt((), Reveal::UserFacing).enter(|infcx| { + tcx.infer_ctxt(Reveal::UserFacing).enter(|infcx| { let cause = traits::ObligationCause::new(mir.span, id, traits::SharedStatic); let mut fulfillment_cx = traits::FulfillmentContext::new(); fulfillment_cx.register_bound(&infcx, ty, diff --git a/src/librustc_mir/transform/type_check.rs b/src/librustc_mir/transform/type_check.rs index 8258627748f..f7055f90f0f 100644 --- a/src/librustc_mir/transform/type_check.rs +++ b/src/librustc_mir/transform/type_check.rs @@ -12,7 +12,7 @@ #![allow(unreachable_code)] use rustc::infer::{self, InferCtxt, InferOk}; -use rustc::traits::{self, Reveal}; +use rustc::traits; use rustc::ty::fold::TypeFoldable; use rustc::ty::{self, Ty, TyCtxt, TypeVariants}; use rustc::middle::const_val::ConstVal; @@ -752,7 +752,7 @@ impl MirPass for TypeckMir { return; } let param_env = tcx.param_env(def_id); - tcx.infer_ctxt(param_env, Reveal::UserFacing).enter(|infcx| { + tcx.infer_ctxt(param_env).enter(|infcx| { let mut checker = TypeChecker::new(&infcx, item_id); { let mut verifier = TypeVerifier::new(&mut checker, mir); |
