From 07345f041ee0bf7bdd0ea0395865872297725668 Mon Sep 17 00:00:00 2001 From: Oliver Scherer Date: Wed, 12 Dec 2018 09:34:43 +0100 Subject: [PATCH] Undo a change that got lost in the larger refactorings --- src/librustc_mir/transform/qualify_consts.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/librustc_mir/transform/qualify_consts.rs b/src/librustc_mir/transform/qualify_consts.rs index 0f54978c1dec..2caeba6c06a3 100644 --- a/src/librustc_mir/transform/qualify_consts.rs +++ b/src/librustc_mir/transform/qualify_consts.rs @@ -557,9 +557,11 @@ impl<'a, 'tcx> Visitor<'tcx> for Qualifier<'a, 'tcx, 'tcx> { match proj.elem { ProjectionElem::Deref => { if context.is_mutating_use() { + // `not_const` errors out in const contexts this.not_const() } else { - this.qualif = Qualif::NOT_CONST; + // just make sure this doesn't get promoted + this.qualif.add(Qualif::NOT_CONST); } let base_ty = proj.base.ty(this.mir, this.tcx).to_ty(this.tcx); match this.mode {