On 10/18/2010 13:42, Tomek Sowiński wrote: > template isVersion(string ver) { > enum bool isVersion = !is(typeof({ > mixin("version(" ~ ver ~") static assert(0);"); > })); > } > > static if (isVersion"VERSION1" || isVersion!"VERSION3") { > ... > } > > If you're rushing to reply "That's hideous!", don't bother. I know.
Hideous? That's beautiful! It lets me pretend that the ugly, restrictive, pointless "version" construct in the language didn't exist, while still reaping the benefits of the version construct. If I ever write a style guide for D, it will forbid the direct use of 'version' and require that 'isVersion' be used instead. -- Rainer Deyke - rain...@eldwood.com