diff options
| author | Eduard-Mihai Burtescu <edy.burt@gmail.com> | 2017-02-19 14:46:29 +0200 |
|---|---|---|
| committer | Eduard-Mihai Burtescu <edy.burt@gmail.com> | 2017-02-25 18:35:26 +0200 |
| commit | c832e6f3272fd01e22a6370e7745e305fe13a4c9 (patch) | |
| tree | c26d1acd868b805dbddb49259a70ff1e2b9d3548 /src/librustc_mir/transform | |
| parent | 9890e0466d951d1b0020ae38e2a4c0d8c43cfea1 (diff) | |
| download | rust-c832e6f3272fd01e22a6370e7745e305fe13a4c9.tar.gz rust-c832e6f3272fd01e22a6370e7745e305fe13a4c9.zip | |
rustc_typeck: rework coherence to be almost completely on-demand.
Diffstat (limited to 'src/librustc_mir/transform')
| -rw-r--r-- | src/librustc_mir/transform/qualify_consts.rs | 4 | ||||
| -rw-r--r-- | src/librustc_mir/transform/type_check.rs | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/librustc_mir/transform/qualify_consts.rs b/src/librustc_mir/transform/qualify_consts.rs index 4f80e21af64..9f38564d1e2 100644 --- a/src/librustc_mir/transform/qualify_consts.rs +++ b/src/librustc_mir/transform/qualify_consts.rs @@ -758,7 +758,7 @@ impl<'a, 'tcx> Visitor<'tcx> for Qualifier<'a, 'tcx, 'tcx> { Rvalue::Aggregate(ref kind, _) => { if let AggregateKind::Adt(def, ..) = *kind { - if def.has_dtor() { + if def.has_dtor(self.tcx) { self.add(Qualif::NEEDS_DROP); self.deny_drop(); } @@ -1042,7 +1042,7 @@ impl<'tcx> MirPass<'tcx> for QualifyAndPromoteConstants { // Statics must be Sync. if mode == Mode::Static { let ty = mir.return_ty; - tcx.infer_ctxt((), Reveal::NotSpecializable).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 40485e4b66d..af4a4a53905 100644 --- a/src/librustc_mir/transform/type_check.rs +++ b/src/librustc_mir/transform/type_check.rs @@ -699,7 +699,7 @@ impl<'tcx> MirPass<'tcx> for TypeckMir { return; } let param_env = ty::ParameterEnvironment::for_item(tcx, src.item_id()); - tcx.infer_ctxt(param_env, Reveal::NotSpecializable).enter(|infcx| { + tcx.infer_ctxt(param_env, Reveal::UserFacing).enter(|infcx| { let mut checker = TypeChecker::new(&infcx, src.item_id()); { let mut verifier = TypeVerifier::new(&mut checker, mir); |
