Thread overview |
---|
January 27, 2009 [Issue 2626] New: template function not working against template struct instantiated with default arguments | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=2626 Summary: template function not working against template struct instantiated with default arguments Product: D Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: bugzilla@digitalmars.com ReportedBy: andrei@metalanguage.com The following code doesn't compile: struct S(T, int x = 1){} S!(T, x) fun(T, int x)(T a, S!(T, x) b) {return b;} void main() { S!(int) s; s = fun(2, s); } Error message: ./test.d(nn): template test.fun(T,int x) does not match any function template declaration ./test.d(nn): template test.fun(T,int x) cannot deduce template function from argument types !()(int,S!(int)) ./test.d(nn): Error: cannot implicitly convert expression ((fun(T,int x))(2,s))of type int to S!(int) Changing the definition of s to: S!(int, 4) s; makes the code work, so I presume it's a simple bug. -- |
February 28, 2009 [Issue 2626] template function not working against template struct instantiated with default arguments | ||||
---|---|---|---|---|
| ||||
Posted in reply to d-bugmail | http://d.puremagic.com/issues/show_bug.cgi?id=2626 ------- Comment #1 from bugzilla@digitalmars.com 2009-02-28 04:11 ------- Here's a simpler version, but fixing it isn't: struct S(int x = 1){} void fun()(S!(1) b) { } void main() { S!() s; fun(s); } -- |
April 01, 2009 [Issue 2626] template function not working against template struct instantiated with default arguments | ||||
---|---|---|---|---|
| ||||
Posted in reply to d-bugmail | http://d.puremagic.com/issues/show_bug.cgi?id=2626 bugzilla@digitalmars.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #2 from bugzilla@digitalmars.com 2009-04-01 13:53 ------- Fixed DMD 2.027 -- |
Copyright © 1999-2021 by the D Language Foundation