optional assignment

Basile B. b2.temp at gmx.com
Mon Dec 30 15:07:41 UTC 2024


A common pattern in a world where `null` exists is

```d
if (!a)
   a = b;
```

that is semantically equivalent, if `a` is a pointer (or if it 
implements opCast!bool), to D

```d
if (a is null)
   a = b;
```

I propose the get rid of the statement layer. The two statments 
(there are more actually) can be a single expression:

```d
a ?= b;
```

As a new binary assign operator.


More information about the dip.ideas mailing list