### What it does Checks for unnecessary `match` or match-like `if let` returns for `Option` and `Result` when function signatures are the same. ### Why is this bad? This `match` block does nothing and might not be what the coder intended. ### Example ``` fn foo() -> Result<(), i32> { match result { Ok(val) => Ok(val), Err(err) => Err(err), } } fn bar() -> Option { if let Some(val) = option { Some(val) } else { None } } ``` Could be replaced as ``` fn foo() -> Result<(), i32> { result } fn bar() -> Option { option } ```