On Monday, 2 August 2021 at 14:46:36 UTC, jfondren wrote:
On Monday, 2 August 2021 at 14:31:45 UTC, Rekel wrote:
[...]

I don't know where you can find this in the docs, but what doesn't seem trivial about it? The type of the expression `print()` is void. That's the type that `doSomething` returns. That's the type of the expression that `doSomething` does return and the type of the expression following a `return` keyword in `doSomething`. Rather than a rule expressly permitting this, I would expect to find to either nothing (it's permitted because it makes sense) or a rule against it (it's expressly forbidden because it has to be to not work, because it makes sense).

C, C++, Rust, and Zig are all fine with this. Nim doesn't like it.

Wow. Just discovered that C accepts it. After 35 years of daily use of C, there are still things to discover.

Reply via email to