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








"clone!(all)" <no spam.com>