[Issue 23136] closure in a loop should hold distinct values for each iteration
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Fri Aug 5 09:23:56 UTC 2022
https://issues.dlang.org/show_bug.cgi?id=23136
Bolpat <qs.il.paperinik at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |qs.il.paperinik at gmail.com
--- Comment #1 from Bolpat <qs.il.paperinik at gmail.com> ---
To be honest, I find this worse:
```d
import std.stdio;
void main() @safe
{
int delegate() immutable pure @safe[] dgList;
foreach(int i; [0,1,2])
{
immutable b = i;
dgList ~= () immutable pure @safe => b;
writeln(dgList[$-1]());
}
writeln;
foreach(dg; dgList) writeln(dg());
}
```
An immutable pure @safe delegate should never ever be able to return different
values for the same parameters (in particular: no parameters).
--
More information about the Digitalmars-d-bugs
mailing list