[Chapel Merge] Remove readWriteThis methods

Branch: refs/heads/main
Revision: af2e560
Author: benharsh
Link: Unavailable
Log Message:

Merge pull request #20375 from benharsh/remove-readWriteThis

Remove readWriteThis methods

This PR removes 'readWriteThis' methods from the compiler, modules, and tests. Relevant documentation has been updated in the following areas:

  • ChapelIO module
  • IO module
  • "forwarding" technote
  • "specialMethods" primer

The "NoRead" type in the modified example is changed from a class to a record so that the resulting error messages are cleaner.

[reviewed-by @mppf, @lydia-duncan]

Modified Files:
R test/deprecated/IO/readWriteThis.chpl

R test/deprecated/IO/readWriteThis.good
M compiler/passes/buildDefaultFunctions.cpp
M doc/rst/technotes/forwarding.rst
M modules/packages/AtomicObjects.chpl
M modules/packages/ConcurrentMap.chpl
M modules/packages/TOML.chpl
M modules/standard/ChapelIO.chpl
M modules/standard/DateTime.chpl
M modules/standard/IO.chpl
M modules/standard/Map.chpl
M test/library/draft/Vector/Vector.chpl
M test/release/examples/primers/specialMethods.chpl

Compare: https://github.com/chapel-lang/chapel/compare/9e5cd4b76721...af2e5606accc