Stewart Gordon wrote:
Andrei Alexandrescu wrote:
D has ";" as the empty statement. In fact I think it's an empty declaration because it can appear at top level.
<snip>

That's always been one of my peeves. At least, ever since I discovered that preventing such common C typos as

    if (...);
    {
        ...
    }

isn't implemented by disallowing ";" as a statement altogether, even though at the time there was nothing in the spec to _allow_ it.

http://d.puremagic.com/issues/show_bug.cgi?id=327

Walter once claimed that it's useful for automatically generated code. Though I'm still not quite sure how.

Yes. He's recently the claimed the same thing about the comma operator, but I don't buy that argument. I've never needed to use either of them myself. (In the case of comma, sure it works as a sequence point when you have: a,b, return a; but it doesn't work for a,b, return b; which is 50% of the cases. I think it's a fallacious argument). Interestingly CommaExpression doesn't seem to be defined anywhere in the D spec.



Stewart.

Reply via email to