diff options
| author | Urgau <urgau@numericable.fr> | 2023-08-25 16:49:37 +0200 |
|---|---|---|
| committer | Urgau <urgau@numericable.fr> | 2023-10-17 10:11:31 +0200 |
| commit | b236642a32eee9681d8059aeeb21df3a252d4135 (patch) | |
| tree | b5c3c085719bc0e2a888c73ec7dec535fe7324b7 | |
| parent | 297827fb86ae01d06fdc62184e73bfd2debdfe6d (diff) | |
| download | rust-b236642a32eee9681d8059aeeb21df3a252d4135.tar.gz rust-b236642a32eee9681d8059aeeb21df3a252d4135.zip | |
[RFC 3127 - Trim Paths]: Add documentation for -Zremap-path-scope
| -rw-r--r-- | src/doc/unstable-book/src/compiler-flags/remap-path-scope.md | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/doc/unstable-book/src/compiler-flags/remap-path-scope.md b/src/doc/unstable-book/src/compiler-flags/remap-path-scope.md new file mode 100644 index 00000000000..13349ff6b8f --- /dev/null +++ b/src/doc/unstable-book/src/compiler-flags/remap-path-scope.md @@ -0,0 +1,24 @@ +# `remap-path-scope` + +The tracking issue for this feature is: [#111540](https://github.com/rust-lang/rust/issues/111540). + +------------------------ + +When the `--remap-path-prefix` option is passed to rustc, source path prefixes in all output will be affected by default. +The `--remap-path-scope` argument can be used in conjunction with `--remap-path-prefix` to determine paths in which output context should be affected. +This flag accepts a comma-separated list of values and may be specified multiple times, in which case the scopes are aggregated together. The valid scopes are: + +- `macro` - apply remappings to the expansion of `std::file!()` macro. This is where paths in embedded panic messages come from +- `diagnostics` - apply remappings to printed compiler diagnostics +- `unsplit-debuginfo` - apply remappings to debug information only when they are written to compiled executables or libraries, but not when they are in split debuginfo files +- `split-debuginfo` - apply remappings to debug information only when they are written to split debug information files, but not in compiled executables or libraries +- `split-debuginfo-path` - apply remappings to the paths pointing to split debug information files. Does nothing when these files are not generated. +- `object` - an alias for `macro,unsplit-debuginfo,split-debuginfo-path`. This ensures all paths in compiled executables or libraries are remapped, but not elsewhere. +- `all` and `true` - an alias for all of the above, also equivalent to supplying only `--remap-path-prefix` without `--remap-path-scope`. + +## Example +```sh +# This would produce an absolute path to main.rs in build outputs of +# "./main.rs". +rustc --remap-path-prefix=$(PWD)=/remapped -Zremap-path-prefix=object main.rs +``` |
