### What it does Checks for usages of `Err(x)?`. ### Why is this bad? The `?` operator is designed to allow calls that can fail to be easily chained. For example, `foo()?.bar()` or `foo(bar()?)`. Because `Err(x)?` can't be used that way (it will always return), it is more clear to write `return Err(x)`. ### Example ``` fn foo(fail: bool) -> Result { if fail { Err("failed")?; } Ok(0) } ``` Could be written: ``` fn foo(fail: bool) -> Result { if fail { return Err("failed".into()); } Ok(0) } ```