about summary refs log tree commit diff
diff options
context:
space:
mode:
authorOliver Scherer <github35764891676564198441@oli-obk.de>2019-04-08 18:34:45 +0200
committerOliver Scherer <github35764891676564198441@oli-obk.de>2019-04-08 18:34:45 +0200
commitae4717d95010f2d75ba02c200ecd0ace7de0a93b (patch)
tree0330adcfb5fab01abd67cf8c2a8590f6fec8963f
parentc63b9fff3f1e589d75db982e9839f9d52c5c57cc (diff)
downloadrust-ae4717d95010f2d75ba02c200ecd0ace7de0a93b.tar.gz
rust-ae4717d95010f2d75ba02c200ecd0ace7de0a93b.zip
Elaborate on implicit promotability
-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 ae13e18ff03..5f8e7ad796b 100644
--- a/src/librustc_mir/transform/qualify_consts.rs
+++ b/src/librustc_mir/transform/qualify_consts.rs
@@ -509,7 +509,10 @@ impl Qualif for IsNotPromotable {
 }
 
 /// Refers to temporaries which cannot be promoted *implicitly*.
-/// Explicit promotion e.g. for constant arguments declared via `rustc_args_required_const`.
+/// Explicit promotion e.g. for constant arguments declared via `rustc_args_required_const` or by
+/// happening inside a constant, static or const fn. Inside a const context all constness rules
+/// apply, so implicit promotion simply has to follow the regular constant rules (modulo interior
+/// mutability or `Drop` rules which are handled `HasMutInterior` and `NeedsDrop` respectively)
 struct IsNotImplicitlyPromotable;
 
 impl Qualif for IsNotImplicitlyPromotable {