Branch: refs/heads/main
Revision: ee31e58
Author: mppf
Log Message:
Merge pull request #17248 from mppf/restrict-sync-types-for-now
Update error message for non-working sync types & update spec
This PR:
- adds tests for a few cases with sync variables that were not very well
tested - updates the implementation to try to give clearer errors for which
types are allowed (though sometimes we get other errors first) - updates the language specification to specifically list which types
can be used in a sync/single
.
see also issue #17176 and issue #17177
- [x] full local testing
Reviewed by @lydia-duncan - thanks!
Modified Files:
A test/types/sync/ferguson/sync-borrowed-nilable.chpl
A test/types/sync/ferguson/sync-borrowed-nilable.good
A test/types/sync/ferguson/sync-borrowed-nonnil.chpl
A test/types/sync/ferguson/sync-borrowed-nonnil.good
A test/types/sync/ferguson/sync-borrowed-nonnil.prediff
A test/types/sync/ferguson/sync-bytes.chpl
A test/types/sync/ferguson/sync-bytes.good
A test/types/sync/ferguson/sync-complex.chpl
A test/types/sync/ferguson/sync-complex.good
A test/types/sync/ferguson/sync-copy-init-cannot-coerce2.prediff
A test/types/sync/ferguson/sync-owned-nilable.chpl
A test/types/sync/ferguson/sync-owned-nilable.good
A test/types/sync/ferguson/sync-owned-nonnil.chpl
A test/types/sync/ferguson/sync-owned-nonnil.good
A test/types/sync/ferguson/sync-shared-nilable.chpl
A test/types/sync/ferguson/sync-shared-nilable.good
A test/types/sync/ferguson/sync-shared-nonnil.chpl
A test/types/sync/ferguson/sync-shared-nonnil.good
A test/types/sync/ferguson/sync-string.chpl
A test/types/sync/ferguson/sync-string.good
A test/types/sync/ferguson/sync-unmanaged-nilable.chpl
A test/types/sync/ferguson/sync-unmanaged-nilable.good
A test/types/sync/ferguson/sync-unmanaged-nonnil.chpl
A test/types/sync/ferguson/sync-unmanaged-nonnil.good
A test/types/sync/ferguson/sync-unmanaged-nonnil.prediff
M doc/rst/language/spec/task-parallelism-and-synchronization.rst
M modules/internal/ChapelSyncvar.chpl
M test/parallel/single/figueroa/ReadWriteMethods.chpl
M test/parallel/single/figueroa/ReadWriteMethods.good
M test/parallel/sync/figueroa/ReadMethods.chpl
M test/parallel/sync/figueroa/ReadMethods.good
M test/parallel/sync/figueroa/WriteMethods.chpl
M test/parallel/sync/figueroa/WriteMethods.good
M test/types/single/sungeun/single-cannot-coerce.chpl
M test/types/single/sungeun/single-cannot-coerce.good
M test/types/sync/ferguson/non-nilable-single-error.good
M test/types/sync/ferguson/non-nilable-sync-error.good
M test/types/sync/ferguson/sync-copy-init-cannot-coerce.chpl
M test/types/sync/ferguson/sync-copy-init-cannot-coerce.good
M test/types/sync/ferguson/sync-copy-init-cannot-coerce2.good
Compare: https://github.com/chapel-lang/chapel/compare/51c355ff5445...ee31e588f0c6