Closed def- closed 1 year ago
Minimal repro:
unsafe fn push_unchecked<T>(vec: &mut Vec<T>, element: T) {
debug_assert!(vec.len() < vec.capacity());
let len = vec.len();
::std::ptr::write(vec.get_unchecked_mut(len), element);
vec.set_len(len + 1);
}
fn main() {
let mut v = Vec::with_capacity(1);
unsafe { push_unchecked(&mut v, 1) };
println!("{v:?}");
}
Fixed in #396. Once this warning is resolved, Miri starts complaining about consolidate_updates_slice
, which is fixed in #394.
Via
MIRIFLAGS="-Zmiri-disable-isolation -Zmiri-strict-provenance" cargo miri test --no-fail-fast --workspace
CC @teskje