First Draft: Static Single Assignment

user1234 user1234 at 12.de
Mon Nov 17 10:25:47 UTC 2025


On Saturday, 15 November 2025 at 07:13:13 UTC, Walter Bright 
wrote:
> https://www.digitalmars.com/d/archives/digitalmars/dip/ideas/Single_Assignment_1765.html

two notes:

1. The description requires to specify that pass-by-ref a final 
is (_always almost_) illegal.

2. what about parameter storage classes ? (since the StorageClass 
rule is shared by VarDecl and Param)

```d
void v(final int p = 0);
v(1);
```

VS

```d
void v(final int p = 0);
v();
```

is the default argument stands for a single assignment ?

which leads to ask what is the right behavior (given first note) 
for

```d
void v(final ref int);
final int arg;
v(arg);
```


More information about the dip.development mailing list