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.

Reply via email to