about summary refs log tree commit diff
diff options
context:
space:
mode:
authorOliver Scherer <github35764891676564198441@oli-obk.de>2020-01-07 15:51:43 +0100
committerOliver Scherer <github35764891676564198441@oli-obk.de>2020-01-07 15:51:43 +0100
commit29c372bf8b612dd9e23eb2503a1f1167e2f2f47c (patch)
treeeadbc872bf0d803288688ffc872dcf34a77c9a08
parentf7f59522b6354d66cf1f08ff0b665d3699acd98c (diff)
downloadrust-29c372bf8b612dd9e23eb2503a1f1167e2f2f47c.tar.gz
rust-29c372bf8b612dd9e23eb2503a1f1167e2f2f47c.zip
Add more documentation
-rw-r--r--src/librustc_mir/const_eval/eval_queries.rs7
-rw-r--r--src/librustc_mir/interpret/place.rs2
2 files changed, 8 insertions, 1 deletions
diff --git a/src/librustc_mir/const_eval/eval_queries.rs b/src/librustc_mir/const_eval/eval_queries.rs
index 9fbb6e1a39d..d2a0798249a 100644
--- a/src/librustc_mir/const_eval/eval_queries.rs
+++ b/src/librustc_mir/const_eval/eval_queries.rs
@@ -124,7 +124,12 @@ pub(super) fn op_to_const<'tcx>(
             ConstValue::ByRef { alloc, offset: ptr.offset }
         }
         Scalar::Raw { data, .. } => {
-            assert_eq!(data, mplace.layout.align.abi.bytes().into());
+            assert_eq!(
+                data,
+                mplace.layout.align.abi.bytes().into(),
+                "this MPlaceTy must come from `try_as_mplace` being used on a zst, so we know what
+                 value this integer address must have",
+            );
             assert!(mplace.layout.is_zst());
             ConstValue::Scalar(Scalar::zst())
         }
diff --git a/src/librustc_mir/interpret/place.rs b/src/librustc_mir/interpret/place.rs
index 1f7db45ccff..69563c5a08d 100644
--- a/src/librustc_mir/interpret/place.rs
+++ b/src/librustc_mir/interpret/place.rs
@@ -21,7 +21,9 @@ use super::{
 };
 
 #[derive(Copy, Clone, Debug, Hash, PartialEq, Eq, HashStable)]
+/// Information required for the sound usage of a `MemPlace`.
 pub enum MemPlaceMeta<Tag = (), Id = AllocId> {
+    /// The unsized payload (e.g. length for slices or vtable pointer for trait objects).
     Unsized(Scalar<Tag, Id>),
     /// `Sized` types or unsized `extern type`
     None,