DMD 2.057 - Windows version

 I'm in the middle of converting a medium sized project from C to D. While I'm 
doing that I have several static data structures. Here's where I find myself. 
Can't probably duplicate the error message without the full sources.

 Since immutable is transitive, this should not cause an error. But I am 
getting this one, which repeats 4 times for all four Notepart entries:

Error: cannot implicitly convert expression ("fQuality") of type string to 
char[]

//for reference on types
const nLen = 4;
enum ValueType {}
struct Flags {}

alias NotePart NP;
alias ValueType VT;

struct NotePart {
        ValueType type; 
        char[] id;
        Flags flags;
        int _size;
}

struct SubRecordParts {
        char name[nLen];
        char requ[nLen];
        int size;
        NotePart[] notes;
        int identifyBy = -1;
}

//immutable should (i think) implicitly change char[] to immutable(char[])
immutable SubRecordParts subParts[] = [
        {"AADT", "", 16, [
                NP(VT.ranged_32, "IApparatus"),
                NP(VT.float_32, "fQuality"),
                NP(VT.float_32, "fWeight"),
                NP(VT.i_32, "iuses")]}
];

Reply via email to