double-check mutability inside Allocation

This commit is contained in:
Ralf Jung 2021-06-28 09:19:36 +02:00
parent d08a4718a9
commit 719dafc48b

View File

@ -340,6 +340,8 @@ impl<Tag: Copy, Extra> Allocation<Tag, Extra> {
range: AllocRange,
val: ScalarMaybeUninit<Tag>,
) -> AllocResult {
assert!(self.mutability == Mutability::Mut);
let val = match val {
ScalarMaybeUninit::Scalar(scalar) => scalar,
ScalarMaybeUninit::Uninit => {
@ -463,6 +465,7 @@ impl<Tag: Copy, Extra> Allocation<Tag, Extra> {
if range.size.bytes() == 0 {
return;
}
assert!(self.mutability == Mutability::Mut);
self.init_mask.set_range(range.start, range.end(), is_init);
}
}