rust-lang/rust-clippy
View on GitHubSuggest usage of `array.as_slice()` (instead of `&array[..]`) and `array.as_mut_slice()`
Open
#7,633 opened on Sep 4, 2021
A-lintL-restrictiongood first issue
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)