On Monday, 19 August 2013 at 01:16:44 UTC, Timothee Cour wrote:
goal1: avoid polluting global module name space:
void fun(){
version=A;
//now the code below in fun() scope has version(A) set
}

goal2:
void fun(){
version(none):
//all the code below this IN THIS FUNCTION becomes versioned out
//(avoids requiring extra {} scope
}

I honestly think that you are spending far too much mental effort in pursuit of complex, finnicky solutions for issues that can be dealt with much better by other means.

If you're getting namespace clashes because one set of functions is dependent on foo.stuff and others are dependent on bar.stuff, surely the simplest way to avoid it is to place them in different modules -- which can then be grouped into a package if needed. What's wrong with this approach?

Reply via email to