On Monday, 2 July 2018 at 20:28:06 UTC, Seb wrote:
On Sunday, 1 July 2018 at 12:02:03 UTC, Nick Treleaven wrote:
On Sunday, 24 June 2018 at 23:40:56 UTC, Timoses wrote:
The others may be rewritten to not have a leading "!" as
well, e.g.
if (!(t1.ty == Tarray && t2.ty == Tarray &&
needsDirectEq(t1, t2))
if (t1.ty != Tarray || t2.ty != Tarray || ...)
Yes, but you might make a mistake, and sometimes it makes more
intuitive sense to read it in a non-minimized form. This type
of change is also much harder to review. Consider why the
change got checked into dmd, without it being minimized at the
time or in a later pull.
C# supports `if !(`.
and it wouldn't be hard for D to support it too:
https://github.com/dlang/dmd/pull/8440
It just requires someone to step up and write the DIP.
Since ! is used to pass template params... I'd rather use it for
parameterized keywords in the same way, for instance:
if!likely(...)
if!unlikely(...)
It would standardize the existing practice of "__builtin_expect".
Also it you really wanted, you could add something like:
if!not(...)