about summary refs log tree commit diff
diff options
context:
space:
mode:
authorManish Goregaokar <manishsmail@gmail.com>2019-09-25 05:28:19 -0700
committerManish Goregaokar <manishsmail@gmail.com>2019-09-25 14:45:18 -0700
commita9a3350455ecd46ef1a9b6f3851373fcdc98c0e9 (patch)
tree3d33806e76c19087447d9793e5465472fb8c9b57
parent980650eec27851276d6cc59ed1c863256102529d (diff)
downloadrust-a9a3350455ecd46ef1a9b6f3851373fcdc98c0e9.tar.gz
rust-a9a3350455ecd46ef1a9b6f3851373fcdc98c0e9.zip
needless_return: add allow()s to test, make rustfixable
-rw-r--r--tests/ui/needless_return.fixed78
-rw-r--r--tests/ui/needless_return.rs4
-rw-r--r--tests/ui/needless_return.stderr24
3 files changed, 94 insertions, 12 deletions
diff --git a/tests/ui/needless_return.fixed b/tests/ui/needless_return.fixed
new file mode 100644
index 00000000000..70af5c19614
--- /dev/null
+++ b/tests/ui/needless_return.fixed
@@ -0,0 +1,78 @@
+// run-rustfix
+
+#![allow(unused, clippy::needless_bool, clippy::match_bool)]
+#![allow(clippy::if_same_then_else, clippy::single_match)]
+#![warn(clippy::needless_return)]
+
+macro_rules! the_answer {
+    () => {
+        42
+    };
+}
+
+fn test_end_of_fn() -> bool {
+    if true {
+        // no error!
+        return true;
+    }
+    true
+}
+
+fn test_no_semicolon() -> bool {
+    true
+}
+
+fn test_if_block() -> bool {
+    if true {
+        true
+    } else {
+        false
+    }
+}
+
+fn test_match(x: bool) -> bool {
+    match x {
+        true => false,
+        false => {
+            true
+        },
+    }
+}
+
+fn test_closure() {
+    let _ = || {
+        true
+    };
+    let _ = || true;
+}
+
+fn test_macro_call() -> i32 {
+    return the_answer!();
+}
+
+fn test_void_fun() {
+    
+}
+
+fn test_void_if_fun(b: bool) {
+    if b {
+        
+    } else {
+        
+    }
+}
+
+fn test_void_match(x: u32) {
+    match x {
+        0 => (),
+        _ => {},
+    }
+}
+
+fn main() {
+    let _ = test_end_of_fn();
+    let _ = test_no_semicolon();
+    let _ = test_if_block();
+    let _ = test_match(true);
+    test_closure();
+}
diff --git a/tests/ui/needless_return.rs b/tests/ui/needless_return.rs
index e9f064ea3ef..a1f8321ac6e 100644
--- a/tests/ui/needless_return.rs
+++ b/tests/ui/needless_return.rs
@@ -1,3 +1,7 @@
+// run-rustfix
+
+#![allow(unused, clippy::needless_bool, clippy::match_bool)]
+#![allow(clippy::if_same_then_else, clippy::single_match)]
 #![warn(clippy::needless_return)]
 
 macro_rules! the_answer {
diff --git a/tests/ui/needless_return.stderr b/tests/ui/needless_return.stderr
index ee700ab8408..b29c47f7b7a 100644
--- a/tests/ui/needless_return.stderr
+++ b/tests/ui/needless_return.stderr
@@ -1,5 +1,5 @@
 error: unneeded return statement
-  --> $DIR/needless_return.rs:14:5
+  --> $DIR/needless_return.rs:18:5
    |
 LL |     return true;
    |     ^^^^^^^^^^^^ help: remove `return`: `true`
@@ -7,67 +7,67 @@ LL |     return true;
    = note: `-D clippy::needless-return` implied by `-D warnings`
 
 error: unneeded return statement
-  --> $DIR/needless_return.rs:18:5
+  --> $DIR/needless_return.rs:22:5
    |
 LL |     return true;
    |     ^^^^^^^^^^^^ help: remove `return`: `true`
 
 error: unneeded return statement
-  --> $DIR/needless_return.rs:23:9
+  --> $DIR/needless_return.rs:27:9
    |
 LL |         return true;
    |         ^^^^^^^^^^^^ help: remove `return`: `true`
 
 error: unneeded return statement
-  --> $DIR/needless_return.rs:25:9
+  --> $DIR/needless_return.rs:29:9
    |
 LL |         return false;
    |         ^^^^^^^^^^^^^ help: remove `return`: `false`
 
 error: unneeded return statement
-  --> $DIR/needless_return.rs:31:17
+  --> $DIR/needless_return.rs:35:17
    |
 LL |         true => return false,
    |                 ^^^^^^^^^^^^ help: remove `return`: `false`
 
 error: unneeded return statement
-  --> $DIR/needless_return.rs:33:13
+  --> $DIR/needless_return.rs:37:13
    |
 LL |             return true;
    |             ^^^^^^^^^^^^ help: remove `return`: `true`
 
 error: unneeded return statement
-  --> $DIR/needless_return.rs:40:9
+  --> $DIR/needless_return.rs:44:9
    |
 LL |         return true;
    |         ^^^^^^^^^^^^ help: remove `return`: `true`
 
 error: unneeded return statement
-  --> $DIR/needless_return.rs:42:16
+  --> $DIR/needless_return.rs:46:16
    |
 LL |     let _ = || return true;
    |                ^^^^^^^^^^^ help: remove `return`: `true`
 
 error: unneeded return statement
-  --> $DIR/needless_return.rs:50:5
+  --> $DIR/needless_return.rs:54:5
    |
 LL |     return;
    |     ^^^^^^^ help: remove `return`
 
 error: unneeded return statement
-  --> $DIR/needless_return.rs:55:9
+  --> $DIR/needless_return.rs:59:9
    |
 LL |         return;
    |         ^^^^^^^ help: remove `return`
 
 error: unneeded return statement
-  --> $DIR/needless_return.rs:57:9
+  --> $DIR/needless_return.rs:61:9
    |
 LL |         return;
    |         ^^^^^^^ help: remove `return`
 
 error: unneeded return statement
-  --> $DIR/needless_return.rs:64:14
+  --> $DIR/needless_return.rs:68:14
    |
 LL |         _ => return,
    |              ^^^^^^ help: replace `return` with an empty block: `{}`