Comment #0 by thelastmammoth — 2012-09-16T19:43:14Z
(from my previous post: http://forum.dlang.org/thread/[email protected]#post-bwfkyaurbgbmwcsepwtx:40forum.dlang.org)
Is that a bug?
The code below returns:
"main.A!(double).A"
if we uncomment "auto c=make!A(1.0);", we get:
"main.a!(double).A"
----
module main;
import std.stdio;
class A(T){
T x;
this(T x){this.x=x;}
}
auto make(alias a,T...)(T args){
return new a!T(args);
}
void main(){
//auto c=make!A(1.0);
auto b=new A!double(1.0);
writeln(typeid(b));
}
----
If this behavior is not a bug, I wonder what's the rationale, but also, how can we have such a "make" function that doesn't mess up the template class name depending on the order of which is used first (the make!T variant or the new A!T) ?
Comment #1 by robert.schadek — 2024-12-13T18:01:26Z