summaryrefslogtreecommitdiffstats
path: root/src/tools/clippy/tests/ui/nonminimal_bool.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/clippy/tests/ui/nonminimal_bool.rs')
-rw-r--r--src/tools/clippy/tests/ui/nonminimal_bool.rs47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/tools/clippy/tests/ui/nonminimal_bool.rs b/src/tools/clippy/tests/ui/nonminimal_bool.rs
index e9b4367ca..80cc7c60f 100644
--- a/src/tools/clippy/tests/ui/nonminimal_bool.rs
+++ b/src/tools/clippy/tests/ui/nonminimal_bool.rs
@@ -63,3 +63,50 @@ fn issue9428() {
println!("foo");
}
}
+
+fn issue_10523() {
+ macro_rules! a {
+ ($v:expr) => {
+ $v.is_some()
+ };
+ }
+ let x: Option<u32> = None;
+ if !a!(x) {}
+}
+
+fn issue_10523_1() {
+ macro_rules! a {
+ ($v:expr) => {
+ !$v.is_some()
+ };
+ }
+ let x: Option<u32> = None;
+ if a!(x) {}
+}
+
+fn issue_10523_2() {
+ macro_rules! a {
+ () => {
+ !None::<u32>.is_some()
+ };
+ }
+ if a!() {}
+}
+
+fn issue_10435() {
+ let x = vec![0];
+ let y = vec![1];
+ let z = vec![2];
+
+ // vvv Should not lint
+ #[allow(clippy::nonminimal_bool)]
+ if !x.is_empty() && !(y.is_empty() || z.is_empty()) {
+ println!("{}", line!());
+ }
+
+ // vvv Should not lint (#10435 talks about a bug where it lints)
+ #[allow(clippy::nonminimal_bool)]
+ if !(x == [0]) {
+ println!("{}", line!());
+ }
+}