import std.stdio;
class D : X{}
class X{}
template t1(T : void function(T)){enum t1 = "1.";}
template t1(T : void function(X)){enum t1 = "2.";}
int main(string[] argv){
t1!(void function(D)).writeln();
readln();
return 0;
}
this code prints 1. on dmd and gdc but on ldc it prints 2.
Which one is correct?