【D言語】関数とテンプレート関数のオーバーロード【dmd】
非テンプレート関数とテンプレート関数のオーバーロードが可能になりました。
今までは、
import std.stdio;
string hoge(T)(T t) if(!is(T == int))
{
return "template";
}
string hoge(int i)
{
return "function";
}
void main()
{
12.0.hoge().writeln();
1200.hoge().writeln();
}
のような、非テンプレート関数とテンプレート関数のオーバーロードが不可能でしたが、このコミット以降、可能になりました。
オーバーロードのために、わざわざ非テンプレート関数をテンプレート関数にする必要がなくなって良いですね。
担当:美馬(最近、雨がすごい)