Rollup merge of #86685 - RalfJung:alloc-mut, r=oli-obk

double-check mutability inside Allocation

r? `@oli-obk`
This commit is contained in:
Yuki Okushi
2021-07-06 02:33:14 +09:00
committed by GitHub

View File

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