But there is a difference in how they behave, and I have no way of checking 
this behavior.
Consider the following little snippet:

void f(int[] a) {
    a[0] = -1;
}

void main() {
    int[] a = [1,2,3];
    static assert(is(typeof(a) == int[]));
    f(a);
    assert(a[0] == -1); // a passed by reference, a[0] changed

    enum b = [1,2,3];
    static assert(is(typeof(b) == int[])); // a regular int[] you say?
    f(b);
    assert(b[0] == -1); // b passed by value, b[0] unchanged
}

Reply via email to