``` fn main() { x() fn x() -> () { () } } ``` produces: ``` what.rs:3:4: 3:6 error: expected `;` or `}` after expression but found `fn` what.rs:3 fn x() -> () { () } ^~ ``` The workaround is easy - you just write `ret x();` explicitly. But maybe it's possible that we not have to? Knowing nothing about parsing, I'm not sure if this can be resolved unambiguously, but I figured I'd mention it.