Is returning void functions inside void functions a feature or an artifact?
Patrick Schluter
Patrick.Schluter at bbox.fr
Tue Aug 3 07:23:34 UTC 2021
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.
More information about the Digitalmars-d-learn
mailing list