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