16898, “e-kayrakli”, “Should we add setter/getter methods for managing IRV in sparse arrays?”, “2021-01-04T21:09:19Z”
Sparse arrays have “implicitly replicated value”. Currently, it is implemented as a field irv
in a base sparse array type and it is modified/accessed via proc IRV ref { return irv; }
. This approach doesn’t work for sparse block arrays as they consist of multiple non-distributed sparse arrays, and do not really need to manage their own “global” irv.
So, currently we do not support manipulating IRV in sparse block arrays and it came up in https://github.com/chapel-lang/chapel/issues/16889. Under that I proposed three alternative designs for solution. Copy/pasting from my comment: