mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-30 16:39:26 +00:00
84b6049eb9
rustc has proper heuristics for actually checking whether a type allows being left uninitialized (by asking CTFE). We can now use this for our helper instead of rolling our own bad version with false positives.
116 lines
3.9 KiB
Text
116 lines
3.9 KiB
Text
error: calling `set_len()` immediately after reserving a buffer creates uninitialized values
|
|
--> $DIR/uninit_vec.rs:17:5
|
|
|
|
|
LL | let mut vec: Vec<u8> = Vec::with_capacity(1000);
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
LL | unsafe {
|
|
LL | vec.set_len(200);
|
|
| ^^^^^^^^^^^^^^^^
|
|
|
|
|
= help: initialize the buffer or wrap the content in `MaybeUninit`
|
|
= note: `-D clippy::uninit-vec` implied by `-D warnings`
|
|
|
|
error: calling `set_len()` immediately after reserving a buffer creates uninitialized values
|
|
--> $DIR/uninit_vec.rs:23:5
|
|
|
|
|
LL | vec.reserve(1000);
|
|
| ^^^^^^^^^^^^^^^^^^
|
|
LL | unsafe {
|
|
LL | vec.set_len(200);
|
|
| ^^^^^^^^^^^^^^^^
|
|
|
|
|
= help: initialize the buffer or wrap the content in `MaybeUninit`
|
|
|
|
error: calling `set_len()` on empty `Vec` creates out-of-bound values
|
|
--> $DIR/uninit_vec.rs:29:5
|
|
|
|
|
LL | let mut vec: Vec<u8> = Vec::new();
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
LL | unsafe {
|
|
LL | vec.set_len(200);
|
|
| ^^^^^^^^^^^^^^^^
|
|
|
|
error: calling `set_len()` on empty `Vec` creates out-of-bound values
|
|
--> $DIR/uninit_vec.rs:35:5
|
|
|
|
|
LL | let mut vec: Vec<u8> = Default::default();
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
LL | unsafe {
|
|
LL | vec.set_len(200);
|
|
| ^^^^^^^^^^^^^^^^
|
|
|
|
error: calling `set_len()` on empty `Vec` creates out-of-bound values
|
|
--> $DIR/uninit_vec.rs:40:5
|
|
|
|
|
LL | let mut vec: Vec<u8> = Vec::default();
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
LL | unsafe {
|
|
LL | vec.set_len(200);
|
|
| ^^^^^^^^^^^^^^^^
|
|
|
|
error: calling `set_len()` immediately after reserving a buffer creates uninitialized values
|
|
--> $DIR/uninit_vec.rs:54:5
|
|
|
|
|
LL | let mut vec: Vec<u8> = Vec::with_capacity(1000);
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
...
|
|
LL | vec.set_len(200);
|
|
| ^^^^^^^^^^^^^^^^
|
|
|
|
|
= help: initialize the buffer or wrap the content in `MaybeUninit`
|
|
|
|
error: calling `set_len()` immediately after reserving a buffer creates uninitialized values
|
|
--> $DIR/uninit_vec.rs:63:5
|
|
|
|
|
LL | my_vec.vec.reserve(1000);
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
LL | unsafe {
|
|
LL | my_vec.vec.set_len(200);
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
= help: initialize the buffer or wrap the content in `MaybeUninit`
|
|
|
|
error: calling `set_len()` immediately after reserving a buffer creates uninitialized values
|
|
--> $DIR/uninit_vec.rs:68:5
|
|
|
|
|
LL | my_vec.vec = Vec::with_capacity(1000);
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
LL | unsafe {
|
|
LL | my_vec.vec.set_len(200);
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
= help: initialize the buffer or wrap the content in `MaybeUninit`
|
|
|
|
error: calling `set_len()` immediately after reserving a buffer creates uninitialized values
|
|
--> $DIR/uninit_vec.rs:47:9
|
|
|
|
|
LL | let mut vec: Vec<u8> = Vec::with_capacity(1000);
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
LL | vec.set_len(200);
|
|
| ^^^^^^^^^^^^^^^^
|
|
|
|
|
= help: initialize the buffer or wrap the content in `MaybeUninit`
|
|
|
|
error: calling `set_len()` immediately after reserving a buffer creates uninitialized values
|
|
--> $DIR/uninit_vec.rs:50:9
|
|
|
|
|
LL | vec.reserve(1000);
|
|
| ^^^^^^^^^^^^^^^^^^
|
|
LL | vec.set_len(200);
|
|
| ^^^^^^^^^^^^^^^^
|
|
|
|
|
= help: initialize the buffer or wrap the content in `MaybeUninit`
|
|
|
|
error: calling `set_len()` immediately after reserving a buffer creates uninitialized values
|
|
--> $DIR/uninit_vec.rs:122:9
|
|
|
|
|
LL | let mut vec: Vec<T> = Vec::with_capacity(1000);
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
LL | unsafe {
|
|
LL | vec.set_len(10);
|
|
| ^^^^^^^^^^^^^^^
|
|
|
|
|
= help: initialize the buffer or wrap the content in `MaybeUninit`
|
|
|
|
error: aborting due to 11 previous errors
|
|
|