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
}
