[Chapel Merge] Make some helpers common to string and bytes casts

Branch: refs/heads/master
Revision: c724ff7
Author: e-kayrakli
Log Message:

Merge pull request #16512 from e-kayrakli/bytes-casts-refactor

Make some helpers common to string and bytes casts

String casts have gone through some improvements recently:


However, we haven’t made the symmetric changes for BytesCasts. This PR makes
such changes. Namely:

  • Moves string cleanup routines to BytesStringCommon and uses them from
    BytesCasts

  • Removes inline from many functions in BytesCasts

https://github.com/chapel-lang/chapel/pull/15870 also made some changes in how
we create new strings in StringCasts, however, we don’t have symmetric changes
in BytesCasts, yet. In the near future, I hope to be able reduce this
redundancy by putting many cast implementations to BytesStringCommon.

[Reviewed by @ronawho]

Test:

  • [x] standard
  • [x] gasnet

Modified Files:
M modules/internal/BytesCasts.chpl
M modules/internal/BytesStringCommon.chpl
M modules/internal/StringCasts.chpl

Compare: https://github.com/chapel-lang/chapel/compare/2acab5608721...c724ff7000a6