A possible replacement for pragma(msg,...)
bearophile
bearophileHUGS at lycos.com
Sat Mar 13 05:23:09 PST 2010
Here I have reported some bugs/problems of pragma(msg,...):
http://d.puremagic.com/issues/show_bug.cgi?id=3952
At the bottom I have added a small proposal too:
D2 programs have better and better CTFE, so the need for good enough printing is growing.
So I suggest to add a special printing function that works in the same way both at compile-time in CTFE and at runtime. To keep things simple it can just print a string (literal or inside a variable) and it does NOT print a newline.
It can be used in a loop too, in CTFE too, to print many things (so it's different from a pragma(msg,...):
string foo(int i) {
foreach (i, 0 .. 10)
ctputs(ToString!(i));
}
Note that it's a true function, so there is no need for {}.
"ctputs" is just one of the possible names of this function.
Once such function is present, the pragma(msg,...) can probably be removed from the language.
Bye,
bearophile
More information about the Digitalmars-d
mailing list