template class name unconsistent behavior

timotheecour thelastmammoth at gmail.com
Sun Sep 16 17:08:37 PDT 2012


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));
}
----



More information about the Digitalmars-d-learn mailing list