1 error[E0308]: mismatched types
2 --> $DIR/liveness-return-last-stmt-semi.rs:4:41
4 LL | macro_rules! test { () => { fn foo() -> i32 { 1; } } }
5 | --- ^^^ - help: consider removing this semicolon
7 | | expected `i32`, found `()`
8 | implicitly returns `()` as its body has no tail or `return` expression
11 | -------- in this macro invocation
13 = note: this error originates in the macro `test` (in Nightly builds, run with -Z macro-backtrace for more info)
15 error[E0308]: mismatched types
16 --> $DIR/liveness-return-last-stmt-semi.rs:7:19
18 LL | fn no_return() -> i32 {}
19 | --------- ^^^ expected `i32`, found `()`
21 | implicitly returns `()` as its body has no tail or `return` expression
23 error[E0308]: mismatched types
24 --> $DIR/liveness-return-last-stmt-semi.rs:9:19
26 LL | fn bar(x: u32) -> u32 {
27 | --- ^^^ expected `u32`, found `()`
29 | implicitly returns `()` as its body has no tail or `return` expression
31 | - help: consider removing this semicolon
33 error[E0308]: mismatched types
34 --> $DIR/liveness-return-last-stmt-semi.rs:13:19
36 LL | fn baz(x: u64) -> u32 {
37 | --- ^^^ expected `u32`, found `()`
39 | implicitly returns `()` as its body has no tail or `return` expression
41 error: aborting due to 4 previous errors
43 For more information about this error, try `rustc --explain E0308`.