braceless with statements

Stefan Koch uplink.coder at googlemail.com
Fri Nov 12 10:55:21 UTC 2021


Good Morning Everyone,

I recently found myself wanting to introduce a bunch of member 
variables into the scope of the function I was currently working 
on.
Of course D has a nice way to do that; The `with` statement.

so
```D
struct S { int x; }
int fn()
{
     S s;
     with(s)
     {
        x = 12;
        return x;
     }
}
```

this code works but it forces another level of indentation which 
makes it a little ugly.

So I did a small patch to my local version of dmd.
And now this works:
```D
struct S { int x; }
int fn()
{
     S s;
     with(s):
     x = 12;
     return x;
}
```

It is a really simple patch and I think it's worthwhile to have 
this in the main language.



More information about the Digitalmars-d mailing list