error[E0308]: mismatched types --> $DIR/issue-94176.rs:5:32 | LL | pub fn test(a: Option) -> Option { | ---- ^^^^^^^^^^^ expected `Option`, found `()` | | | implicitly returns `()` as its body has no tail or `return` expression | = note: expected enum `Option` found unit type `()` help: consider returning the local binding `a` | LL ~ println!("Foo"); LL + a | error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0308`.