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 != None { "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() == None {}
51 if bar().ok() != None {}
53 let _ = Some(1 + 2) != None;
55 let _ = { Some(0) } == 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() == &&None;
68 let _ = &&None != optref();
69 let _ = **optref() == None;
70 let _ = &None != *optref();
72 let x = Box::new(Option::<()>::None);