Appending immutable char implicit cast to int, bug or feature?
    ixid 
    nuaccount at gmail.com
       
    Wed Dec  5 09:30:25 PST 2012
    
    
  
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?
    
    
More information about the Digitalmars-d-learn
mailing list