Inferring static array size
Nick Treleaven
nick at geany.org
Fri May 3 18:27:56 UTC 2024
On Friday, 3 May 2024 at 12:12:29 UTC, NotYouAgain wrote:
> and this won't work either:
>
> int i = 2;
> //int[10] powersOfTwo = generate!(() => i *=
> 2)().take(10).array; // fine
> auto powersOfTwo = staticArray!(generate!(() => i *=
> 2)().take(10).array); // nope
You can't read `i` at compile-time. `staticArray!range` only
works when `range` elements are known at compile-time.
```d
auto powersOfTwo = staticArray!10(generate!(() => i *= 2)());
pragma(msg, typeof(powersOfTwo)); // int[10]
```
More information about the dip.ideas
mailing list