On 2011-06-28 19:22, clone!(all) wrote: > The following outputs "Unicode!". If I reverse the comment for [1] and > [2] however, the output is "ASCII". > > file a: > ================================ > module A; > > version = Unicode; [1] > > version(Unicode) > { > alias ChoiceA Choice; > } > else > { > alias ChoiceB Choice; > } > > string ChoiceA() { return "Unicode!"; } > > string ChoiceB() { return "ASCII"; } > > > file b: > ================================ > module B; > > import std.stdio: writeln; > import A; > > //version = Unicode; [2] > > static this() > { > writeln(Choice()); > } > > void main(){} > > > ========== > experience = GetExperience(); > assert(experience == "tyro")
When you use use add a new version like that, it only affects the file that it's in. No other files are affected. If you want it to affect all files, you have to use the -version flag when compiling. - Jonathan M Davis