Ronald Garcia wrote
If multi_array's assignment had different semantics from the rest of the arrays, then assignment would behave very differently generic algorithms depending on whether you pass a multi_array or a different function.
I cannot get why introducing automatically resizing would cause any trouble for any generic algorithm, since it would not prevent from calling the assignment for objects that do have the same shape. Do you have any precise example to explain why it would be such a trouble?
A total guess... You have two 4D multi_arrays used in an algorithm. Algorithm checks that their fastest dimension has the same size. It does. The algorithm is called recursively on a 3D subproblem. The algorithm checks that the two 3D sub-multi_arrays have a fastest dimension with the same size. They don't. Now what should the generic algorithm do? If it resizes the 3D subproblem bad things happen to the original 4D multi_array. - Rhys