Do Loop with Variable

Patrick Schluter Patrick.Schluter at bbox.fr
Wed Jul 9 17:13:27 UTC 2025


On Tuesday, 8 July 2025 at 17:24:11 UTC, jmh530 wrote:
> On Tuesday, 8 July 2025 at 16:40:24 UTC, Quirin Schroll wrote:
>> I have the feeling this isn’t gonna fly, but I’ll say it 
>> anyways because maybe someone finds a solution.
>> ```d
>> do (int x = 0)
>> { }
>> while (++x < 10);
>> ```
>> which would be equivalent to
>> ```d
>> {
>>     int x = 0;
>>     do
>>     { }
>>     while (++x < 10);
>> }
>> ```
>> [snip]
>
> What is your motivation for this? Making sure `x` doesn't stay 
> around or making sure it doesn't conflict with `x` elsewhere in 
> the program?

Exactly that. I really would like to have this also in C.
I would even go as far as having a special scope rule only 
applying to `do {} while()`. Where the scope extends to closing 
parenthesis of the `while`.

```c
     do {
        int a = 0;
        ...
     } while(a++ < 10);
```
I know that something like that would never fly.


More information about the dip.ideas mailing list