Add more documentation

This commit is contained in:
Oliver Scherer 2020-01-07 15:51:43 +01:00
parent f7f59522b6
commit 29c372bf8b
2 changed files with 8 additions and 1 deletions

View file

@ -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())
}

View file

@ -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,