]> git.lizzy.rs Git - rust.git/blob - src/tools/clippy/tests/ui/mut_mut.rs
Auto merge of #71751 - oli-obk:const_ice, r=RalfJung
[rust.git] / src / tools / clippy / tests / ui / mut_mut.rs
1 #![allow(unused, clippy::no_effect, clippy::unnecessary_operation)]
2 #![warn(clippy::mut_mut)]
3
4 fn fun(x: &mut &mut u32) -> bool {
5     **x > 0
6 }
7
8 fn less_fun(x: *mut *mut u32) {
9     let y = x;
10 }
11
12 macro_rules! mut_ptr {
13     ($p:expr) => {
14         &mut $p
15     };
16 }
17
18 #[allow(unused_mut, unused_variables)]
19 fn main() {
20     let mut x = &mut &mut 1u32;
21     {
22         let mut y = &mut x;
23     }
24
25     if fun(x) {
26         let y: &mut &mut u32 = &mut &mut 2;
27         **y + **x;
28     }
29
30     if fun(x) {
31         let y: &mut &mut &mut u32 = &mut &mut &mut 2;
32         ***y + **x;
33     }
34
35     let mut z = mut_ptr!(&mut 3u32);
36 }
37
38 fn issue939() {
39     let array = [5, 6, 7, 8, 9];
40     let mut args = array.iter().skip(2);
41     for &arg in &mut args {
42         println!("{}", arg);
43     }
44
45     let args = &mut args;
46     for arg in args {
47         println!(":{}", arg);
48     }
49 }