[Issue 16127] New: array op cache conflates incompatible functions
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Sun Jun 5 08:02:38 PDT 2016
https://issues.dlang.org/show_bug.cgi?id=16127
Issue ID: 16127
Summary: array op cache conflates incompatible functions
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Severity: normal
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: code at dawg.eu
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/arrayOps
https://github.com/MartinNowak/druntime/tree/arrayOps
--
More information about the Digitalmars-d-bugs
mailing list