//******* CODE **********
mixin("version = foo;");
version(foo)
{
void main(){}   
}
//****** END CODE *******
If it's illegal in D, what is the reason & where is documented?

The reason I was considering such a construct is the following:
Some C libraries have an associated "config.h" header that gets generated when it is compiled. I was thinking it may be possible to parse these config.h files at compile time (using text import) and convert some of the #define's into "version = foo;"

It wouldn't do any favors for compile times, but it would save on having an extra step in the build process to convert config.h to config.d.

Reply via email to