On 02/06/2018 01:22 AM, H. S. Teoh wrote:
No need to wait for the future, you can do this today:
enum toStr(alias X) = X.stringof;
enum x = 100;
pragma(msg, toStr!1);
pragma(msg, toStr!3.14159);
pragma(msg, "Hello " ~ toStr!10 ~ " world");
pragma(msg, "Hello " ~ toStr!x ~ " world");
Note, however, that this doesn't work in CTFE, only at template
expansion time.
There's an easier way that does work in CTFE:
---------------------------
import std.conv;
enum x = 100;
pragma(msg, 1.text);
pragma(msg, "Hello " ~ 10.text ~ " world");
pragma(msg, "Hello " ~ x.text ~ " world");
enum y = 2.text;
pragma(msg, y);
//pragma(msg, 3.14159.text); // Ugh, ok, floats don't work though :(