On Monday, January 16, 2012 11:37:13 Marco Leise wrote: > I would like to write: > > void main() { > version(!unittest) { > run_the_program(); > } > } > > This is a case where the trait you check for is so specific that checking > for the negation has a clear benefit. I agree with your opinion on OS > versions, which are more like an enum, where you go through it like a > switch-case.
That's done easily enough: version(unittest) void main() {} else void main() { //the program } As long as you only need to be able to say "this version" and "not this version" rather than "this version", "that version", and "not some other version," you're okay, since the else essentially functions as a !. It just won't do it for more complicated chains of versions. - Jonathan M Davis