CTFE toUpper/toLower

cal callumenator at gmail.com
Wed Aug 29 17:13:50 PDT 2012


Given this code for CTFE on a string array:

enum E {one, two}
enum string[] fields = [EnumMembers!E].to!(string[]);

string print(string[] fields)
{
     string s;
     foreach(string field; fields)
     {
         s ~= field.toUpper ~ ", ";
     }
     return s;
}

pragma(msg, print(["one", "two"]));
pragma(msg, print(fields));

I am trying to understand why the first pragma produces correct 
output but the second one fails in std.string.toUpper (cannot 
interpret result ~= c at compile-time)?



More information about the Digitalmars-d-learn mailing list