``` extern (C) nothrow @nogc @system: pragma(LDC_no_moduleinfo); T mult(T)(T x, T y) { return x*y; } alias mult!double dmult; alias mult!float fmult; ```
but this will ``` extern (C) nothrow @nogc @system: pragma(LDC_no_moduleinfo); T mult(T)(T x, T y) { return x*y; } double dmult(double x, double y) { return mult(x, y); } float fmult(float x, float y) { return mult(x, y); } ``` Why is that?