On Friday, 22 June 2012 at 11:07:14 UTC, bearophile wrote:
Is this expected and good?void main() { int[] array = [1, 2]; foreach (ref const(int) x; array) {} // OK foreach (ref immutable(int) x; array) {} // error } DMD 2.060alpha:temp.d(4): Error: argument type mismatch, int to ref immutable(int)Thank you, bye, bearophile
I think it's good. In this special case, the compiler can see that you can't change array behind his back. That seems not to be true in general.