2 #![warn(clippy::partialeq_to_none)]
6 impl PartialEq<Option<()>> for Foobar {
7 fn eq(&self, _: &Option<()>) -> bool {
13 fn foo(f: Option<u32>) -> &'static str {
14 if f.is_some() { "yay" } else { "nay" }
17 fn foobar() -> Option<()> {
21 fn bar() -> Result<(), ()> {
25 fn optref() -> &'static &'static Option<()> {
29 pub fn macro_expansion() {
36 let _ = foobar() == foo!();
37 let _ = foo!() == foobar();
38 let _ = foo!() == foo!();
49 if foobar().is_none() {}
51 if bar().ok().is_some() {}
53 let _ = Some(1 + 2).is_some();
55 let _ = { Some(0) }.is_none();
59 This comment runs long
64 // Should not trigger, as `Foobar` is not an `Option` and has no `is_none`
65 let _ = Foobar == None;
67 let _ = optref().is_none();
68 let _ = optref().is_some();
69 let _ = optref().is_none();
70 let _ = optref().is_some();
72 let x = Box::new(Option::<()>::None);
73 let _ = (*x).is_some();