This PR makes single-argument string constructors explicit, where possible with the current code generation. Explicit single-argument constructors are recommended (including by the static analysis in this repo) because they avoid unwanted implicit conversions.
Note the following:
This PR incorporates the changes from #2703. Review and merge that one first.
I revised the FSW and test code as necessary to eliminate implicit string conversions. In some cases they were doing implicit string copies that were not necessary.
For parameter, event, and telemetry strings, and for the char * constructor of Fw::String, we can't make the single-argument constructors explicit until we close this issue: nasa/fpp#421.
This PR makes single-argument string constructors explicit, where possible with the current code generation. Explicit single-argument constructors are recommended (including by the static analysis in this repo) because they avoid unwanted implicit conversions.
Note the following:
char *
constructor ofFw::String
, we can't make the single-argument constructors explicit until we close this issue: nasa/fpp#421.