On 5/13/17 6:07 PM, Petar Kirov [ZombineDev] wrote:
On Saturday, 13 May 2017 at 18:07:57 UTC, Timon Gehr wrote:
On 13.05.2017 16:30, Petar Kirov [ZombineDev] wrote:
On Saturday, 13 May 2017 at 10:27:25 UTC, Timon Gehr wrote:
On 12.05.2017 18:17, Mike Parker wrote:
The first stage of the formal review for DIP 1003 [1], "Remove body
as a
Keyword", is now underway. From now until 11:59 PM ET on May 26
(3:59 AM
GMT on May 27), the community has the opportunity to provide
last-minute
feedback. If you missed the preliminary review [2], this is your
chance
to provide input.

At the end of the feedback period, I will submit the DIP to Walter and
Andrei for their final decision. Thanks in advance to those of you who
participate.

[1]
https://github.com/dlang/DIPs/blob/fbb797f61ac92300eda1d63202157cd2a30ba555/DIPs/DIP1003.md




[2] http://forum.dlang.org/thread/[email protected]

Option 1 is good: There is nothing wrong with the current syntax. [1]

Option 2 is bad: It's the function body, not the function.

Option 3 is ugly: There is no precedent for '...{}{}' belonging to the
same declaration or statement.

Hmm, I guess it depends on how you format your code.

No, it does not. This was a point about the grammar.

How would you feel about:

if(condition){ then(); }
{ otherwise(); }

I don't see any problem, in fact this is valid code even today - both in
C++ and D.
And my case still stands - if you were to format the code like this:

if (condition)
{
    then();
}

{
    otherwise();
}

then the intent would be more obvious. At least in C++ using a plain
scope { }
is common idiom used to explicitly limit the lifetime of RAII objects
declared
within it.

There is a huge difference. if() {} else {} is semantically completely different than if() {} {}

Currently, we already allow omitting body when in/out aren't present:

void foo()
{
}

is equivalent to

void foo()
body
{
}

I think really, option 1 is both the easiest and least disruptive. I'm OK with option 3, but it sure seems like an unnecessary breakage.

-Steve

Reply via email to