This is simple code to create all genetic combinations from two organisms.

string[] mixGenes(string a, string b) {
        string[] result;

        foreach(i;0..2)
                foreach(j;0..2)
                        foreach(k;2..4)
                                foreach(m;2..4)
                                        result ~= [a[i]] ~ [b[j]] ~ [a[k]] ~ 
[b[m]];

        return result;
}

This works, however when I remove the brackets:

result ~= a[i] ~ b[j] ~ a[k] ~ b[m];

I get the error:

Error: incompatible types for ((cast(int)a[cast(uint)i]) ~ (cast(int)b[cast(uint)j])): 'int' and 'int'

Why, when trying to append immutable chars to make a string, has it decided to implicitly cast them to int?

Reply via email to