cat > bug.d << CODE
static immutable float[16] window;
void bug()
{
short[16] buffer;
float[16] res;
res[] = buffer[] * window[]; // float[] = short[] * immutable(float)[]
const float[] win = window[];
res[] = buffer[] * win[]; // float[] = short[] * const(float)[]
}
CODE
---
bug.d(9): Error: function bug._arraySliceOfsSliceMulSliceAssign_f (float[] p2, const(immutable(float)[]) p1, const(short[]) p0) is not callable using argument types (float[], const(float)[], short[])
---
This is most likely an issue with the cache for the generated functions, but will also be fixed when switching to templated array ops.
Also see:
issue 15619
https://github.com/MartinNowak/dmd/tree/arrayOpshttps://github.com/MartinNowak/druntime/tree/arrayOps
Comment #1 by robert.schadek — 2024-12-13T18:48:20Z