My "investigation": https://github.com/rust-lang/rust/issues/17257#issuecomment-113206852 Test case: ``` rust fn foo() -> i32 { return 1 // no semicolon } fn main() { println!("{}", foo()); } ``` This compiles, but the [reference](https://doc.rust-lang.org/reference.html#return-expressions) doesn't mention, that is should.