Template specialization

Timon Gehr timon.gehr at gmx.ch
Thu Jan 23 06:42:31 PST 2014


On 01/23/2014 01:44 PM, Daniel Kozak wrote:
> 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?

1. is correct. LDC will presumably print 1. as well as soon as it is 
updated to a more recent frontend version.


More information about the Digitalmars-d mailing list