digitalmars.D - version bug? or am I missing something?
- clone!(all) (30/30) Jun 28 2011 The following outputs "Unicode!". If I reverse the comment for [1] and
- Jonathan M Davis (5/48) Jun 28 2011 When you use use add a new version like that, it only affects the file t...
- clone!(all) (2/50) Jun 28 2011 Got it... thank for the swift response.
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")
Jun 28 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
Jun 28 2011
On 6/29/2011 11:28 AM, Jonathan M Davis wrote:On 2011-06-28 19:22, clone!(all) wrote:Got it... thank for the swift response.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
Jun 28 2011