On Tuesday, 28 September 2021 at 22:56:17 UTC, Tim wrote:
I'm doing the following:

int[25] window = 0;

Note that this array has a fixed size.

window = someInteger ~ window[].dropBackOne;

Here the window[] takes a variable-length slice of it. Turning it from int[25] into plain int[]. Then you can drop one since it is variable length. Then appending again ok cuz it is variable. Then the window assign just copies it out of the newly allocated variable back into the static length array.

window = someInteger ~ window.dropBackOne;

But over here you are trying to use the static array directly which again has fixed length, so it is impossible to cut an item off it or add another to it.

What does the `[]` do exactly? Is an array not a bidirectional range?

It takes a slice of the static array - fetching the pointer and length into runtime variables.

Reply via email to