Bug 8670 – IFTI fails from aliases

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2012-09-16T10:56:00Z
Last change time
2013-04-08T21:05:32Z
Keywords
rejects-valid
Assigned to
nobody
Creator
kyfolee

Comments

Comment #0 by kyfolee — 2012-09-16T10:56:18Z
Based on latest DMD 2.061 Here is what I have reduced it to so far: --- struct A(T, int N) { } struct B(T, int N, int M) { alias B!(T, N, 1) C; } alias B!(int, 2, 2) b_t; void foo(T, int N)(in A!(T,N), in B!(T,N,1)) { } void main() { A!(int,2) a; B!(int,2,1) b; foo(a, b); } --- .\ifti.d(21): Error: template ifti.foo does not match any function template declaration .\ifti.d(21): Error: template ifti.foo(T,int N) cannot deduce template function from argument types !()(A!(int,2),B!(int,2,1)) --- Note: removing either alias will cause compile to succeed.
Comment #1 by k.hara.pg — 2013-04-08T21:05:32Z
By fixing bug 9143, this issue is also fixed in 2.061 release.