]> git.proxmox.com Git - rustc.git/blame - src/tools/clippy/src/docs/cast_slice_from_raw_parts.txt
New upstream version 1.66.0+dfsg1
[rustc.git] / src / tools / clippy / src / docs / cast_slice_from_raw_parts.txt
CommitLineData
f2b60f7d
FG
1### What it does
2Checks for a raw slice being cast to a slice pointer
3
4### Why is this bad?
5This can result in multiple `&mut` references to the same location when only a pointer is
6required.
7`ptr::slice_from_raw_parts` is a safe alternative that doesn't require
8the same [safety requirements] to be upheld.
9
10### Example
11```
12let _: *const [u8] = std::slice::from_raw_parts(ptr, len) as *const _;
13let _: *mut [u8] = std::slice::from_raw_parts_mut(ptr, len) as *mut _;
14```
15Use instead:
16```
17let _: *const [u8] = std::ptr::slice_from_raw_parts(ptr, len);
18let _: *mut [u8] = std::ptr::slice_from_raw_parts_mut(ptr, len);
19```
20[safety requirements]: https://doc.rust-lang.org/std/slice/fn.from_raw_parts.html#safety