On Thursday, 23 April 2015 at 14:50:26 UTC, John Colvin wrote:
There are cases where you might really need to grab an extra 1-5%, at which point you are hand optimising and = void is a reasonable tool.

Well, it can be a lot more than 1-5% in special situations if you hand over a small header request with a bundled array to fill in, so "=void" can be important.

But the real down side by making automatic initialization part of the language semantics is that you cannot do machine verfication where you detect cases where you forgot actual initialization. E.g. indexing where you should start at 1 and not 0.

That's not so good for correctness.

It's the same issue with modular arithmetics which actually remove overflows from integer operations, but then you cannot use machine verification to detect overflow either (unless you are happy with a large number of false positives).

Reply via email to