]> git.lizzy.rs Git - rust.git/blob - src/tools/clippy/tests/ui/redundant_slicing.rs
Auto merge of #87686 - matthiaskrgr:clippy_august_21_perf, r=jackh726
[rust.git] / src / tools / clippy / tests / ui / redundant_slicing.rs
1 #![allow(unused)]
2 #![warn(clippy::redundant_slicing)]
3
4 fn main() {
5     let slice: &[u32] = &[0];
6     let _ = &slice[..];
7
8     let v = vec![0];
9     let _ = &v[..]; // Changes the type
10     let _ = &(&v[..])[..]; // Outer borrow is redundant
11
12     static S: &[u8] = &[0, 1, 2];
13     let err = &mut &S[..]; // Should reborrow instead of slice
14
15     let mut vec = vec![0];
16     let mut_slice = &mut *vec;
17     let _ = &mut mut_slice[..]; // Should reborrow instead of slice
18
19     macro_rules! m {
20         ($e:expr) => {
21             $e
22         };
23     }
24     let _ = &m!(slice)[..];
25
26     macro_rules! m2 {
27         ($e:expr) => {
28             &$e[..]
29         };
30     }
31     let _ = m2!(slice); // Don't lint in a macro
32 }