rust-lang / rust-lang/rust-clippy
Suggest usage of `array.as_slice()` (instead of `&array[..]`) and `array.as_mut_slice()`
Open
@nils-degroot is already working on this.
Since May 15, 2025.
A-lint
good first issue
L-restriction
- Dominant language
- Rust
- Stars
- 13.5k
- Forks
- 2.2k
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 32
Description
What it does
Lints for example this code:
let array: [u8; 4] = [1, 2, 3, 4];
let slice: &[u8] = &array[..];
and suggests array::as_slice:
let array: [u8; 4] = [1, 2, 3, 4];
let slice: &[u8] = array.as_slice();
(same should be suggested for &mut array[..], which can be replaced with array.as_mut_slice())
Categories (optional)
- Kind:
clippy::pedanticorclippy::style
What is the advantage of the recommended code over the original code?
For example:
- easier to read for people new to rust (not very obvious what
[..]does) - there must be a reason why
array::as_sliceexists? (see rust-lang/rust#76120)
Drawbacks
- might have a lot of false positives or not much benefit in using the function
Possibly related issues:
- #728
- #5598
Stabilization
At the time of writing this issue, the function is still unstable, but with the merging of rust-lang/rust#88353, this feature will be stabilized. (final-comment-period, so will be merged in the next few days)
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.
Assessment
This issue has not been assessed yet.