Branch: refs/heads/main
Revision: f616060
Author: vasslitvinov
Link: Unavailable
Log Message:
Merge pull request #19103 from vasslitvinov/domain-binop-err
Deprecate+better errors for | & ^ op= on rectangular domains
This PR implements an action item from the domain module review,
where we decided to disallow |
&
^
on rectangular domains.
For this release these are deprecated. We will convert them
to compilation errors in a future release, unless we receive
opposing requests from users.
Given that |=
&=
^=
on rectangular domains already generate
compile-time errors, this PR makes these error messages clear.
It adds tests of the deprecated warnings and the improved error messages.
A couple of .good/.bad files are adjusted also to account for a change
in program AST and the number of available candidates.
While there: move += and -= on (domain,idx) from ChapelBase into ChapelDomain
as that is where they belong.
Archaeology: they were added initially in cd9b794b5f
and had been in ChapelBase since then.
r: @dlongnecke-cray
Modified Files:
A test/deprecated/domain-or-and-xor.chpl
A test/deprecated/domain-or-and-xor.good
A test/domains/compilerErrors/rect-and-eq.chpl
A test/domains/compilerErrors/rect-and-eq.good
A test/domains/compilerErrors/rect-or-eq.chpl
A test/domains/compilerErrors/rect-or-eq.good
A test/domains/compilerErrors/rect-xor-eq.chpl
A test/domains/compilerErrors/rect-xor-eq.good
M modules/internal/ChapelBase.chpl
M modules/internal/ChapelDomain.chpl
M test/expressions/if-expr/if-loop-const.bad
M test/visibility/except/operatorsExceptions/exceptAnd.good
M test/visibility/except/operatorsExceptions/exceptOr.good
M test/visibility/except/operatorsExceptions/exceptXor.good
Compare: https://github.com/chapel-lang/chapel/compare/4865d4ed0f85...f616060d6860