Add unstable option to nul-terminate location strings #135240
+64
−14
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_ptr
method that returns a*const u8
pointer to the filename. This raw pointer can have provenance to access the nul-terminator even if the&str
doesn't.The new option is added to
-Zlocation-detail
instead of adding a new flag. This seems to be the simplest way to provide the option. Since-Zlocation-detail
is unstable, this does not commit to supporting the feature.