int[3] foo = [1, 2, 3]; foo = 5; writeln(foo); // 5, 5, 5
Why does such code compile? I don't think this should be permitted, because it's easy to make a mistake (when you wanted foo[index] but forgot the []). If someone wants to assign a value to every element they could do foo[] = 5; instead which is explicit.