summaryrefslogtreecommitdiff
path: root/src/librustc_mir/transform/qualify_consts.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/librustc_mir/transform/qualify_consts.rs')
-rw-r--r--src/librustc_mir/transform/qualify_consts.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/librustc_mir/transform/qualify_consts.rs b/src/librustc_mir/transform/qualify_consts.rs
index 0b9ad85e6b1..4400717fabc 100644
--- a/src/librustc_mir/transform/qualify_consts.rs
+++ b/src/librustc_mir/transform/qualify_consts.rs
@@ -728,7 +728,10 @@ impl<'a, 'tcx> Checker<'a, 'tcx> {
interior mutability, create a static instead");
}
}
- } else {
+ } else if let BorrowKind::Mut { .. } | BorrowKind::Shared = kind {
+ // Don't promote BorrowKind::Shallow borrows, as they don't
+ // reach codegen.
+
// We might have a candidate for promotion.
let candidate = Candidate::Ref(location);
// We can only promote interior borrows of promotable temps.