Open vasslitvinov opened 7 months ago
Is this the issue that Oliver from the Arkouda Devs meeting brought to our attention? If so, could we provide some context of how this showed up as a problem for Oliver?
Not sure. My understanding is that Oliver spent quite a bit of time figuring out what is going on and what is the right way to use replicated arrays in his context. It surely took me a while.
A replicated array presents itself as its replicand on the current locale, by design. However, it is passed "as a whole" upon a move initialization. This may lead to subtle changes in program behavior when copy elision engages or disengages depending on a code change elsewhere. Analogously, a user may expect that an assignment or initialization between two replicated arrays copies over all replicands, whereas currently it does just the current replicand, unless it is a move initialization.
This issue requests revisiting these semantics, aiming at consistent behavior to reduce user surprises.
Test: test/distributions/replicated/one-or-all-replicands-1.chpl