]> git.lizzy.rs Git - rust.git/blob - tests/ui/redundant_pattern_matching_poll.rs
Improved shared_code_in_if_blocks message and added test stderrs
[rust.git] / tests / ui / redundant_pattern_matching_poll.rs
1 // run-rustfix
2
3 #![warn(clippy::all)]
4 #![warn(clippy::redundant_pattern_matching)]
5 #![allow(unused_must_use, clippy::needless_bool, clippy::match_like_matches_macro)]
6
7 use std::task::Poll::{self, Pending, Ready};
8
9 fn main() {
10     if let Pending = Pending::<()> {}
11
12     if let Ready(_) = Ready(42) {}
13
14     if let Ready(_) = Ready(42) {
15         foo();
16     } else {
17         bar();
18     }
19
20     while let Ready(_) = Ready(42) {}
21
22     while let Pending = Ready(42) {}
23
24     while let Pending = Pending::<()> {}
25
26     if Pending::<i32>.is_pending() {}
27
28     if Ready(42).is_ready() {}
29
30     match Ready(42) {
31         Ready(_) => true,
32         Pending => false,
33     };
34
35     match Pending::<()> {
36         Ready(_) => false,
37         Pending => true,
38     };
39
40     let _ = match Pending::<()> {
41         Ready(_) => false,
42         Pending => true,
43     };
44
45     let poll = Ready(false);
46     let _ = if let Ready(_) = poll { true } else { false };
47
48     poll_const();
49
50     let _ = if let Ready(_) = gen_poll() {
51         1
52     } else if let Pending = gen_poll() {
53         2
54     } else {
55         3
56     };
57 }
58
59 fn gen_poll() -> Poll<()> {
60     Pending
61 }
62
63 fn foo() {}
64
65 fn bar() {}
66
67 const fn poll_const() {
68     if let Ready(_) = Ready(42) {}
69
70     if let Pending = Pending::<()> {}
71
72     while let Ready(_) = Ready(42) {}
73
74     while let Pending = Pending::<()> {}
75
76     match Ready(42) {
77         Ready(_) => true,
78         Pending => false,
79     };
80
81     match Pending::<()> {
82         Ready(_) => false,
83         Pending => true,
84     };
85 }