1 // run-rustfix
2 #![feature(stmt_expr_attributes)]
3 #![deny(clippy::unneeded_wildcard_pattern)]
4 
main()5 fn main() {
6     let t = (0, 1, 2, 3);
7 
8     if let (0, .., _) = t {};
9     if let (0, _, ..) = t {};
10     if let (_, .., 0) = t {};
11     if let (.., _, 0) = t {};
12     if let (0, _, _, ..) = t {};
13     if let (0, .., _, _) = t {};
14     if let (_, 0, ..) = t {};
15     if let (.., 0, _) = t {};
16     if let (0, _, _, _) = t {};
17     if let (0, ..) = t {};
18     if let (.., 0) = t {};
19 
20     #[rustfmt::skip]
21     {
22         if let (0, .., _, _,) = t {};
23     }
24 
25     struct S(usize, usize, usize, usize);
26 
27     let s = S(0, 1, 2, 3);
28 
29     if let S(0, .., _) = s {};
30     if let S(0, _, ..) = s {};
31     if let S(_, .., 0) = s {};
32     if let S(.., _, 0) = s {};
33     if let S(0, _, _, ..) = s {};
34     if let S(0, .., _, _) = s {};
35     if let S(_, 0, ..) = s {};
36     if let S(.., 0, _) = s {};
37     if let S(0, _, _, _) = s {};
38     if let S(0, ..) = s {};
39     if let S(.., 0) = s {};
40 
41     #[rustfmt::skip]
42     {
43         if let S(0, .., _, _,) = s {};
44     }
45 }
46