]> git.lizzy.rs Git - rust.git/blob - src/tools/clippy/tests/ui/partialeq_to_none.fixed
Merge commit '2b2190cb5667cdd276a24ef8b9f3692209c54a89' into clippyup
[rust.git] / src / tools / clippy / tests / ui / partialeq_to_none.fixed
1 // run-rustfix
2 #![warn(clippy::partialeq_to_none)]
3
4 struct Foobar;
5
6 impl PartialEq<Option<()>> for Foobar {
7     fn eq(&self, _: &Option<()>) -> bool {
8         false
9     }
10 }
11
12 #[allow(dead_code)]
13 fn foo(f: Option<u32>) -> &'static str {
14     if f.is_some() { "yay" } else { "nay" }
15 }
16
17 fn foobar() -> Option<()> {
18     None
19 }
20
21 fn bar() -> Result<(), ()> {
22     Ok(())
23 }
24
25 fn optref() -> &'static &'static Option<()> {
26     &&None
27 }
28
29 fn main() {
30     let x = Some(0);
31
32     let _ = x.is_none();
33     let _ = x.is_some();
34     let _ = x.is_none();
35     let _ = x.is_some();
36
37     if foobar().is_none() {}
38
39     if bar().ok().is_some() {}
40
41     let _ = Some(1 + 2).is_some();
42
43     let _ = { Some(0) }.is_none();
44
45     let _ = {
46         /*
47           This comment runs long
48         */
49         Some(1)
50     }.is_some();
51
52     // Should not trigger, as `Foobar` is not an `Option` and has no `is_none`
53     let _ = Foobar == None;
54
55     let _ = optref().is_none();
56     let _ = optref().is_some();
57     let _ = optref().is_none();
58     let _ = optref().is_some();
59
60     let x = Box::new(Option::<()>::None);
61     let _ = (*x).is_some();
62 }