Taken straight from TDPL: void main() { } void transmogrify(uint) { } void transmogrify(long) { } void transmogrify(T)(T value) { } unittest { transmogrify(42); transmogrify("hello"); transmogrify(1.1); } test.d(28): Error: template test.transmogrify(T) conflicts with function test.transmogrify at test.d(26) If the generic function is placed above the specialized functions, the errors will be expanded to this: test.d(27): Error: function test.transmogrify conflicts with template test.transmogrify(T) at test.d(26) test.d(28): Error: function test.transmogrify conflicts with template test.transmogrify(T) at test.d(26)
*** This issue has been marked as a duplicate of issue 2972 ***