### What it does Checks for usage of `panic!`, `unimplemented!`, `todo!`, `unreachable!` or assertions in a function of type result. ### Why is this bad? For some codebases, it is desirable for functions of type result to return an error instead of crashing. Hence panicking macros should be avoided. ### Known problems Functions called from a function returning a `Result` may invoke a panicking macro. This is not checked. ### Example ``` fn result_with_panic() -> Result { panic!("error"); } ``` Use instead: ``` fn result_without_panic() -> Result { Err(String::from("error")) } ```