While we're lynching features, how bout' them omittable parens?

Chad J chadjoan at __spam.is.bad__gmail.com
Mon May 18 18:02:24 PDT 2009


Nevermind properties.  Any chance we can forbid the omittable
parentheses, at least in the lhs of an assignment expression?

In the more general case, any value type that gets modified but never
read or copied elsewhere is probably either dead code, a bug, or a
benchmark.  The latter is easy to fix by adding the necessary read/copy
(return the value, pass it to a global or function, etc).  It'd be great
if this kind of thing were a compile time error.

Code like this shouldn't compile:

struct S { int a = 0; }
S foo() { S s; return s; }

void main()
{
    foo.a++;
}



More information about the Digitalmars-d mailing list