added lint for todo and removed option

This commit is contained in:
Vali Schneider 2020-08-27 16:55:23 -07:00
parent b2d8ca9a76
commit b006522393
4 changed files with 33 additions and 79 deletions

View file

@ -18,19 +18,9 @@ impl A {
unreachable!();
}
fn option_with_unreachable() -> Option<bool> // should emit lint
fn result_with_todo() -> Result<bool, String> // should emit lint
{
unreachable!();
}
fn option_with_unimplemented() -> Option<bool> // should emit lint
{
unimplemented!();
}
fn option_with_panic() -> Option<bool> // should emit lint
{
panic!("error");
todo!("Finish this");
}
fn other_with_panic() // should not emit lint
@ -48,15 +38,15 @@ impl A {
unimplemented!();
}
fn other_with_todo() // should not emit lint
{
todo!("finish this")
}
fn result_without_banned_functions() -> Result<bool, String> // should not emit lint
{
Ok(true)
}
fn option_without_banned_functions() -> Option<bool> // should not emit lint
{
Some(true)
}
}
fn main() {}

View file

@ -1,4 +1,4 @@
error: used unimplemented, unreachable or panic in a function that returns result or option
error: used unimplemented, unreachable, todo or panic in a function that returns result
--> $DIR/panic_in_result.rs:6:5
|
LL | / fn result_with_panic() -> Result<bool, String> // should emit lint
@ -8,7 +8,7 @@ LL | | }
| |_____^
|
= note: `-D clippy::panic-in-result` implied by `-D warnings`
= help: unimplemented, unreachable or panic should not be used in a function that returns result or option
= help: unimplemented, unreachable, todo or panic should not be used in a function that returns result
note: will cause the application to crash.
--> $DIR/panic_in_result.rs:8:9
|
@ -16,7 +16,7 @@ LL | panic!("error");
| ^^^^^^^^^^^^^^^^
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
error: used unimplemented, unreachable or panic in a function that returns result or option
error: used unimplemented, unreachable, todo or panic in a function that returns result
--> $DIR/panic_in_result.rs:11:5
|
LL | / fn result_with_unimplemented() -> Result<bool, String> // should emit lint
@ -25,7 +25,7 @@ LL | | unimplemented!();
LL | | }
| |_____^
|
= help: unimplemented, unreachable or panic should not be used in a function that returns result or option
= help: unimplemented, unreachable, todo or panic should not be used in a function that returns result
note: will cause the application to crash.
--> $DIR/panic_in_result.rs:13:9
|
@ -33,7 +33,7 @@ LL | unimplemented!();
| ^^^^^^^^^^^^^^^^^
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
error: used unimplemented, unreachable or panic in a function that returns result or option
error: used unimplemented, unreachable, todo or panic in a function that returns result
--> $DIR/panic_in_result.rs:16:5
|
LL | / fn result_with_unreachable() -> Result<bool, String> // should emit lint
@ -42,7 +42,7 @@ LL | | unreachable!();
LL | | }
| |_____^
|
= help: unimplemented, unreachable or panic should not be used in a function that returns result or option
= help: unimplemented, unreachable, todo or panic should not be used in a function that returns result
note: will cause the application to crash.
--> $DIR/panic_in_result.rs:18:9
|
@ -50,56 +50,22 @@ LL | unreachable!();
| ^^^^^^^^^^^^^^^
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
error: used unimplemented, unreachable or panic in a function that returns result or option
error: used unimplemented, unreachable, todo or panic in a function that returns result
--> $DIR/panic_in_result.rs:21:5
|
LL | / fn option_with_unreachable() -> Option<bool> // should emit lint
LL | / fn result_with_todo() -> Result<bool, String> // should emit lint
LL | | {
LL | | unreachable!();
LL | | todo!("Finish this");
LL | | }
| |_____^
|
= help: unimplemented, unreachable or panic should not be used in a function that returns result or option
= help: unimplemented, unreachable, todo or panic should not be used in a function that returns result
note: will cause the application to crash.
--> $DIR/panic_in_result.rs:23:9
|
LL | unreachable!();
| ^^^^^^^^^^^^^^^
LL | todo!("Finish this");
| ^^^^^^^^^^^^^^^^^^^^^
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
error: used unimplemented, unreachable or panic in a function that returns result or option
--> $DIR/panic_in_result.rs:26:5
|
LL | / fn option_with_unimplemented() -> Option<bool> // should emit lint
LL | | {
LL | | unimplemented!();
LL | | }
| |_____^
|
= help: unimplemented, unreachable or panic should not be used in a function that returns result or option
note: will cause the application to crash.
--> $DIR/panic_in_result.rs:28:9
|
LL | unimplemented!();
| ^^^^^^^^^^^^^^^^^
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
error: used unimplemented, unreachable or panic in a function that returns result or option
--> $DIR/panic_in_result.rs:31:5
|
LL | / fn option_with_panic() -> Option<bool> // should emit lint
LL | | {
LL | | panic!("error");
LL | | }
| |_____^
|
= help: unimplemented, unreachable or panic should not be used in a function that returns result or option
note: will cause the application to crash.
--> $DIR/panic_in_result.rs:33:9
|
LL | panic!("error");
| ^^^^^^^^^^^^^^^^
= note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
error: aborting due to 6 previous errors
error: aborting due to 4 previous errors