Is this a bug or illegal code?

safety0ff via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Thu May 29 07:45:28 PDT 2014


//******* 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.


More information about the Digitalmars-d-learn mailing list