[Chapel Merge] Improve rank mismatch errors in zipperings between

Branch: refs/heads/main
Revision: aa5be29
Author: bradcray
Log Message:

Merge pull request #17958 from bradcray/better-zip-rank-mismatch-errors

Improve rank mismatch errors in zipperings between ranges / default arrays

[reviewed by @vasslitvinov]

In a post-post-meeting question this week, @stonea asked about zippering
things of different ranks. A quick check showed that for common types,
we generated an error, but not a very clear one, related more to the underlying
implementations than anything a user should be seeing. This improves that error
for ranges and default domains and arrays by doing a simple rank check in the
follower iterators.

TBD: Do we need to do additional work to support the same checks in distributed
domains and arrays, or will the fact that they are implemented in terms of local
domains and arrays cause this check to be inherited? I'm not certain and need to
write some more tests for that case (in a separate effort).

Modified Files:
A test/parallel/forall/zip/zipRankMismatch-1Darr-2Darr.good

A test/parallel/forall/zip/zipRankMismatch-1Ddom-2Ddom.good
A test/parallel/forall/zip/zipRankMismatch-2D-range.good
A test/parallel/forall/zip/zipRankMismatch-2Darr-1Darr.good
A test/parallel/forall/zip/zipRankMismatch-2Ddom-1Ddom.good
A test/parallel/forall/zip/zipRankMismatch-range-2D.good
A test/parallel/forall/zip/zipRankMismatch.chpl
A test/parallel/forall/zip/zipRankMismatch.compopts
M modules/internal/ChapelRange.chpl
M modules/internal/DefaultRectangular.chpl
M modules/packages/UnitTest.chpl
M test/library/packages/UnitTest/AssertEqual/AssertEqualTest.good
M test/users/ferguson/assoc_domain_zip_range.bad

Compare: https://github.com/chapel-lang/chapel/compare/128522633ad6...aa5be29eb3ae