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.