error[E0308]: mismatched types --> $DIR/issue-6458-4.rs:1:20 | LL | fn foo(b: bool) -> Result { | --- ^^^^^^^^^^^^^^^^^^^ expected `Result`, found `()` | | | implicitly returns `()` as its body has no tail or `return` expression LL | Err("bar".to_string()); | - help: remove this semicolon to return this value | = note: expected enum `Result` found unit type `()` error: aborting due to previous error For more information about this error, try `rustc --explain E0308`.