rust-lang / rust-lang/rust-clippy
Warn against passing a pointer derived from a 0 or 1 sized array to from_raw_parts
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 13.5k
- Forks
- 2.2k
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 32
Description
If there is a fixed size array with a length of 0 or 1, and as_ptr() or as_ptr_mut() is called on that array and the result passed to slice::from_raw_parts or slice::from_raw_parts_mut, then emit a lint.
This is almost definitely a sign of UB: https://github.com/rust-lang/unsafe-code-guidelines/issues/134#issuecomment-627609346
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files or tests are named. Start by reading the linked unsafe-code-guidelines discussion and tracing how rust-clippy implements and tests lints for Rust slice APIs. Done means emitting a lint when a pointer from a fixed-size array of length 0 or 1 is passed to slice::from_raw_parts or slice::from_raw_parts_mut.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100