version bug? or am I missing something?

Jonathan M Davis jmdavisProg at gmx.com
Tue Jun 28 19:28:46 PDT 2011


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


More information about the Digitalmars-d mailing list