Add unstable option to nul-terminate location strings #135240
Closed
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
This is an alternative to #135054 for the ACP rust-lang/libs-team#466 that provides a compiler flag for adding a nul-terminator to filename strings.
Personally I still prefer adding a dedicated method to avoid provenance crimes, but this approach allows users to avoid increasing the binary size.
One potential way to avoid provenance questions is to add a
Location::file_ptrmethod that returns a*const u8pointer to the filename. This raw pointer can have provenance to access the nul-terminator even if the&strdoesn't.The new option is added to
-Zlocation-detailinstead of adding a new flag. This seems to be the simplest way to provide the option. Since-Zlocation-detailis unstable, this does not commit to supporting the feature.