DIP 1002 (TryElseExpression) added to the queue

Jack Stouffer via Digitalmars-d digitalmars-d at puremagic.com
Thu Sep 29 01:31:18 PDT 2016


On Thursday, 29 September 2016 at 00:35:47 UTC, Walter Bright 
wrote:
> I agree with Steven. Having the 'else' continue on with a scope 
> that is already closed by } is very weird and unsettling.

Seconded

> But it is conditional compilation, and no other way around it 
> has been proposed, and it has major benefits. (C++'s static if 
> proposal does not allow this, a decision that I predict they'll 
> come to regret.)

The C++ static_if will create a new scope? Huge mistake IMO. The 
fact that the static if doesn't create a new scope is a trick 
that's used a lot in D and Phobos specifically.

Case in point: 
https://github.com/dlang/phobos/blob/a5e935370f5de590532bb5d12610c865343f56a9/std/string.d#L5859

> Adding more cases of this sort of thing should be approached 
> with great trepidation, and is not justified if it is only a 
> minor improvement.

I agree; static if is different because it's a compile time 
feature and not a run time feature.



More information about the Digitalmars-d mailing list