about summary refs log tree commit diff
path: root/tests/mir-opt/lower_array_len.array_bound.NormalizeArrayLen.panic-abort.diff
diff options
context:
space:
mode:
authorAlessandro Decina <alessandro.d@gmail.com>2022-09-23 00:06:13 +0100
committerAlessandro Decina <alessandro.d@gmail.com>2022-09-23 09:35:47 +0100
commit49319b4206cbde83e0113c024b09275677ab8d74 (patch)
tree12e29e6af047c72eccace0230ecac2f0e27cfecf /tests/mir-opt/lower_array_len.array_bound.NormalizeArrayLen.panic-abort.diff
parent61fd2a8c6f8336ea12fe5b6fd1051fcf5a7b915e (diff)
downloadrust-49319b4206cbde83e0113c024b09275677ab8d74.tar.gz
rust-49319b4206cbde83e0113c024b09275677ab8d74.zip
uninit_vec: special case set_len(0)
set_len(0) does not create uninitialized elements. Fixes a false positive with
the following pattern:

    fn copy_slice_into_vec(dst: &mut Vec<u8>, src: &[u8]) {
        dst.reserve(src.len().saturating_sub(dst.len()));
        unsafe {
            dst.set_len(0);
            std::ptr::copy_nonoverlapping(src.as_ptr(), dst.as_mut_ptr(), src.len());
            dst.set_len(src.len());
        }
    }
Diffstat (limited to 'tests/mir-opt/lower_array_len.array_bound.NormalizeArrayLen.panic-abort.diff')
0 files changed, 0 insertions, 0 deletions