Add unstable option to nul-terminate location strings by Darksonn · Pull Request #135240 · rust-lang/rust (original) (raw)

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.