import std.stdio; void transmogrify(uint value) { writeln("Вызов функции с uint: ", value); } void transmogrify(long value) { writeln("Вызов функции с long: ", value); } void transmogrify(T)(T value) { writeln("Вызов функции с T: ", value); } unittest { transmogrify(42); // Вы­зы­ва­ет transmogrify(uint) transmogrify("hello"); // Вы­зы­ва­ет transmogrify(T), T=string transmogrify(1.1); // Вы­зы­ва­ет transmogrify(T), T=double // Вызов функции с uint: 42 // Вызов функции с T: hello // Вызов функции с T: 1.1 }