]> git.lizzy.rs Git - rust.git/blob - tests/ui/redundant_pattern_matching_poll.rs
Merge remote-tracking branch 'upstream/beta' into backport_remerge
[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(
6     unused_must_use,
7     clippy::needless_bool,
8     clippy::match_like_matches_macro,
9     clippy::if_same_then_else
10 )]
11
12 use std::task::Poll::{self, Pending, Ready};
13
14 fn main() {
15     if let Pending = Pending::<()> {}
16
17     if let Ready(_) = Ready(42) {}
18
19     if let Ready(_) = Ready(42) {
20         foo();
21     } else {
22         bar();
23     }
24
25     while let Ready(_) = Ready(42) {}
26
27     while let Pending = Ready(42) {}
28
29     while let Pending = Pending::<()> {}
30
31     if Pending::<i32>.is_pending() {}
32
33     if Ready(42).is_ready() {}
34
35     match Ready(42) {
36         Ready(_) => true,
37         Pending => false,
38     };
39
40     match Pending::<()> {
41         Ready(_) => false,
42         Pending => true,
43     };
44
45     let _ = match Pending::<()> {
46         Ready(_) => false,
47         Pending => true,
48     };
49
50     let poll = Ready(false);
51     let _ = if let Ready(_) = poll { true } else { false };
52
53     poll_const();
54
55     let _ = if let Ready(_) = gen_poll() {
56         1
57     } else if let Pending = gen_poll() {
58         2
59     } else {
60         3
61     };
62 }
63
64 fn gen_poll() -> Poll<()> {
65     Pending
66 }
67
68 fn foo() {}
69
70 fn bar() {}
71
72 const fn poll_const() {
73     if let Ready(_) = Ready(42) {}
74
75     if let Pending = Pending::<()> {}
76
77     while let Ready(_) = Ready(42) {}
78
79     while let Pending = Pending::<()> {}
80
81     match Ready(42) {
82         Ready(_) => true,
83         Pending => false,
84     };
85
86     match Pending::<()> {
87         Ready(_) => false,
88         Pending => true,
89     };
90 }