cannot access frame of function

user1234 user1234 at 12.hu
Mon Sep 18 18:25:28 UTC 2017


On Monday, 18 September 2017 at 14:45:25 UTC, Alex wrote:
> Hi all,
> given this code:
>
> import std.algorithm.iteration : sum, cumulativeFold;
>
> void main()
> {
> 	double[5] a;
> 	a = 0;
> 	foreach(el; a) assert(el == 0);
> 	a[0] = 1.0;
> 	a[1] = 2.0;
> 	a[2] = 3.0;
> 	a[3] = 4.0;
> 	a[4] = 5.0;
> 	foreach(el; a) assert(el != 0);
> 	auto asum = a[].sum;
> 	auto jProbs = a[].cumulativeFold!((a, b) => (a + b)/asum);
> }
>
> the last line does not compile.
>
> I found
> http://forum.dlang.org/post/mailman.4097.1499105927.31550.digitalmars-d-bugs@puremagic.com
> and
> https://issues.dlang.org/show_bug.cgi?id=11886
>
> What I do not understand, how my example differs from the fixed 
> bug?

asum is a lazy range and the error comes from this.
Let's say that if you replace  asum by 1.23 then the code 
compiles.


More information about the Digitalmars-d-learn mailing list