error[E0308]: mismatched types --> $DIR/return-type.rs:10:5 | LL | foo(4 as usize) | ^^^^^^^^^^^^^^^ expected `()`, found `S` | = note: expected unit type `()` found struct `S` help: consider using a semicolon here | LL | foo(4 as usize); | + help: try adding a return type | LL | fn bar() -> S { | +++++++++++ error: aborting due to previous error For more information about this error, try `rustc --explain E0308`.