about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/librustc/mir/mod.rs16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/librustc/mir/mod.rs b/src/librustc/mir/mod.rs
index abfff023e89..802bcf7dab8 100644
--- a/src/librustc/mir/mod.rs
+++ b/src/librustc/mir/mod.rs
@@ -411,14 +411,20 @@ pub struct LocalDecl<'tcx> {
     /// True if this corresponds to a user-declared local variable.
     pub is_user_variable: bool,
 
-    /// True if this is an internal local.
+    /// True if this is an internal local
+    ///
     /// These locals are not based on types in the source code and are only used
     /// for drop flags at the moment.
-    /// The generator transformation will sanity check the locals which are live across
-    /// a suspension point against the type components of the generator which
-    /// type checking knows are live across a suspension point.
-    /// We need to flag drop flags to avoid triggering this check as they are introduced
+    ///
+    /// The generator transformation will sanity check the locals which are live
+    /// across a suspension point against the type components of the generator
+    /// which type checking knows are live across a suspension point. We need to
+    /// flag drop flags to avoid triggering this check as they are introduced
     /// after typeck.
+    ///
+    /// This should be sound because the drop flags are fully algebraic, and
+    /// therefore don't affect the OIBIT or outlives properties of the
+    /// generator.
     pub internal: bool,
 
     /// Type of this local.