Bug 7214 – Change of template specialization resolution
Status
RESOLVED
Resolution
INVALID
Severity
minor
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
Other
OS
All
Creation time
2012-01-03T20:59:00Z
Last change time
2012-01-04T18:28:17Z
Assigned to
nobody
Creator
code
Comments
Comment #0 by code — 2012-01-03T20:59:36Z
template isStaticArray(T : U[N], U, size_t N)
{
enum bool isStaticArray = true;
}
template isStaticArray(T)
{
enum bool isStaticArray = false;
}
struct Matrix
{
float[3][3] _data;
alias _data this;
}
static assert(!isStaticArray!Matrix); // isStaticArray!Matrix is true now
---------
This piece of code changed it's semantics with the recent
dmd changes. Just wanted to make sure that this is deliberate.
Comment #1 by k.hara.pg — 2012-01-03T21:11:32Z
The report is bug 7124.
Comment #2 by code — 2012-01-04T18:28:17Z
This is likely OK.
I just saw that the T of T : U[N] will still bind to Matrix,
so the full type information is preserved.