//@revisions: edition2018 edition2021 //@[edition2018] edition:2018 //@[edition2021] edition:2021 #![warn(clippy::manual_assert)] #![allow(dead_code, unused_doc_comments)] #![allow(clippy::nonminimal_bool, clippy::uninlined_format_args, clippy::useless_vec)] macro_rules! one { () => { 1 }; } fn main() { let a = vec![1, 2, 3]; let c = Some(2); if !a.is_empty() && a.len() == 3 && c.is_some() && !a.is_empty() && a.len() == 3 && !a.is_empty() && a.len() == 3 && !a.is_empty() && a.len() == 3 { panic!("qaqaq{:?}", a); } assert!(a.is_empty(), "qaqaq{:?}", a); assert!(a.is_empty(), "qwqwq"); if a.len() == 3 { println!("qwq"); println!("qwq"); println!("qwq"); } if let Some(b) = c { panic!("orz {}", b); } if a.len() == 3 { panic!("qaqaq"); } else { println!("qwq"); } let b = vec![1, 2, 3]; assert!(!b.is_empty(), "panic1"); assert!(!(b.is_empty() && a.is_empty()), "panic2"); assert!(!(a.is_empty() && !b.is_empty()), "panic3"); assert!(!(b.is_empty() || a.is_empty()), "panic4"); assert!(!(a.is_empty() || !b.is_empty()), "panic5"); assert!(!a.is_empty(), "with expansion {}", one!()); if a.is_empty() { let _ = 0; } else if a.len() == 1 { panic!("panic6"); } } fn issue7730(a: u8) { // Suggestion should preserve comment // comment /* this is a multiline comment */ /// Doc comment // comment after `panic!` assert!(!(a > 2), "panic with comment"); } fn issue12505() { struct Foo(T); impl Foo { const BAR: () = assert!(!(N == 0), ); } }