fix: reorder --remap-path-prefix flags for -Zbuild-std

Order of `--remap-path-prefix` flags is important for `-Zbuild-std`.
We want to show `/rustc/<hash>/library/std` instead of `std-0.0.0`.
This commit is contained in:
Weihang Lo 2023-11-28 13:47:44 -05:00
parent d6b46bfd37
commit 8709835a01
No known key found for this signature in database
GPG key ID: D7DBF189825E82E7
3 changed files with 38 additions and 36 deletions

View file

@ -1214,8 +1214,6 @@ fn trim_paths_args(
} }
remap remap
}; };
cmd.arg(sysroot_remap);
let package_remap = { let package_remap = {
let pkg_root = unit.pkg.root(); let pkg_root = unit.pkg.root();
let ws_root = cx.bcx.ws.root(); let ws_root = cx.bcx.ws.root();
@ -1242,7 +1240,11 @@ fn trim_paths_args(
} }
remap remap
}; };
// Order of `--remap-path-prefix` flags is important for `-Zbuild-std`.
// We want to show `/rustc/<hash>/library/std` instead of `std-0.0.0`.
cmd.arg(package_remap); cmd.arg(package_remap);
cmd.arg(sysroot_remap);
Ok(()) Ok(())
} }

View file

@ -267,8 +267,8 @@ fn remap_path_scope() {
[..]thread '[..]' panicked at [..]src/main.rs:3:[..]", [..]thread '[..]' panicked at [..]src/main.rs:3:[..]",
) )
.with_stderr_contains("remap to /rustc/<hash>") .with_stderr_contains("remap to /rustc/<hash>")
.with_stderr_contains("[..]at std-0.0.0/src/[..]") .with_stderr_contains("[..]at /rustc/[..]/library/std/src/[..]")
.with_stderr_contains("[..]at src/main.rs:3[..]") .with_stderr_contains("[..]at src/main.rs:3[..]")
.with_stderr_contains("[..]at core-0.0.0/src/[..]") .with_stderr_contains("[..]at /rustc/[..]/library/core/src/[..]")
.run(); .run();
} }

View file

@ -83,8 +83,8 @@ fn release_profile_default_to_object() {
[COMPILING] foo v0.0.1 ([CWD]) [COMPILING] foo v0.0.1 ([CWD])
[RUNNING] `rustc [..]\ [RUNNING] `rustc [..]\
-Zremap-path-scope=object \ -Zremap-path-scope=object \
--remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..] \ --remap-path-prefix=[CWD]= \
--remap-path-prefix=[CWD]= [..] --remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..]
[FINISHED] release [..]", [FINISHED] release [..]",
) )
.run(); .run();
@ -121,8 +121,8 @@ fn one_option() {
[COMPILING] foo v0.0.1 ([CWD]) [COMPILING] foo v0.0.1 ([CWD])
[RUNNING] `rustc [..]\ [RUNNING] `rustc [..]\
-Zremap-path-scope={option} \ -Zremap-path-scope={option} \
--remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..] \ --remap-path-prefix=[CWD]= \
--remap-path-prefix=[CWD]= [..] --remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..]
[FINISHED] dev [..]", [FINISHED] dev [..]",
)) ))
.run(); .run();
@ -158,8 +158,8 @@ fn multiple_options() {
[COMPILING] foo v0.0.1 ([CWD]) [COMPILING] foo v0.0.1 ([CWD])
[RUNNING] `rustc [..]\ [RUNNING] `rustc [..]\
-Zremap-path-scope=diagnostics,macro,object \ -Zremap-path-scope=diagnostics,macro,object \
--remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..] \ --remap-path-prefix=[CWD]= \
--remap-path-prefix=[CWD]= [..] --remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..]
[FINISHED] dev [..]", [FINISHED] dev [..]",
) )
.run(); .run();
@ -193,8 +193,8 @@ fn profile_merge_works() {
[COMPILING] foo v0.0.1 ([CWD]) [COMPILING] foo v0.0.1 ([CWD])
[RUNNING] `rustc [..]\ [RUNNING] `rustc [..]\
-Zremap-path-scope=diagnostics \ -Zremap-path-scope=diagnostics \
--remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..] \ --remap-path-prefix=[CWD]= \
--remap-path-prefix=[CWD]= [..] --remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..]
[FINISHED] custom [..]", [FINISHED] custom [..]",
) )
.run(); .run();
@ -238,13 +238,13 @@ fn registry_dependency() {
[COMPILING] bar v0.0.1 [COMPILING] bar v0.0.1
[RUNNING] `rustc [..]\ [RUNNING] `rustc [..]\
-Zremap-path-scope=object \ -Zremap-path-scope=object \
--remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..] \ --remap-path-prefix={pkg_remap} \
--remap-path-prefix={pkg_remap} [..] --remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..]
[COMPILING] foo v0.0.1 ([CWD]) [COMPILING] foo v0.0.1 ([CWD])
[RUNNING] `rustc [..]\ [RUNNING] `rustc [..]\
-Zremap-path-scope=object \ -Zremap-path-scope=object \
--remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..] \ --remap-path-prefix=[CWD]= \
--remap-path-prefix=[CWD]= [..] --remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..]
[FINISHED] dev [..] [FINISHED] dev [..]
[RUNNING] `target/debug/foo[EXE]`" [RUNNING] `target/debug/foo[EXE]`"
)) ))
@ -292,13 +292,13 @@ fn git_dependency() {
[COMPILING] bar v0.0.1 ({url}[..]) [COMPILING] bar v0.0.1 ({url}[..])
[RUNNING] `rustc [..]\ [RUNNING] `rustc [..]\
-Zremap-path-scope=object \ -Zremap-path-scope=object \
--remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..] \ --remap-path-prefix={pkg_remap} \
--remap-path-prefix={pkg_remap} [..] --remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..]
[COMPILING] foo v0.0.1 ([CWD]) [COMPILING] foo v0.0.1 ([CWD])
[RUNNING] `rustc [..]\ [RUNNING] `rustc [..]\
-Zremap-path-scope=object \ -Zremap-path-scope=object \
--remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..] \ --remap-path-prefix=[CWD]= \
--remap-path-prefix=[CWD]= [..] --remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..]
[FINISHED] dev [..] [FINISHED] dev [..]
[RUNNING] `target/debug/foo[EXE]`" [RUNNING] `target/debug/foo[EXE]`"
)) ))
@ -338,13 +338,13 @@ fn path_dependency() {
[COMPILING] bar v0.0.1 ([..]/cocktail-bar) [COMPILING] bar v0.0.1 ([..]/cocktail-bar)
[RUNNING] `rustc [..]\ [RUNNING] `rustc [..]\
-Zremap-path-scope=object \ -Zremap-path-scope=object \
--remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..] \ --remap-path-prefix=[CWD]= \
--remap-path-prefix=[CWD]= [..] --remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..]
[COMPILING] foo v0.0.1 ([CWD]) [COMPILING] foo v0.0.1 ([CWD])
[RUNNING] `rustc [..]\ [RUNNING] `rustc [..]\
-Zremap-path-scope=object \ -Zremap-path-scope=object \
--remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..] \ --remap-path-prefix=[CWD]= \
--remap-path-prefix=[CWD]= [..] --remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..]
[FINISHED] dev [..] [FINISHED] dev [..]
[RUNNING] `target/debug/foo[EXE]`" [RUNNING] `target/debug/foo[EXE]`"
)) ))
@ -387,13 +387,13 @@ fn path_dependency_outside_workspace() {
[COMPILING] bar v0.0.1 ([..]/bar) [COMPILING] bar v0.0.1 ([..]/bar)
[RUNNING] `rustc [..]\ [RUNNING] `rustc [..]\
-Zremap-path-scope=object \ -Zremap-path-scope=object \
--remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..] \ --remap-path-prefix={bar_path}=bar-0.0.1 \
--remap-path-prefix={bar_path}=bar-0.0.1 [..] --remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..]
[COMPILING] foo v0.0.1 ([CWD]) [COMPILING] foo v0.0.1 ([CWD])
[RUNNING] `rustc [..]\ [RUNNING] `rustc [..]\
-Zremap-path-scope=object \ -Zremap-path-scope=object \
--remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..] \ --remap-path-prefix=[CWD]= \
--remap-path-prefix=[CWD]= [..] --remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..]
[FINISHED] dev [..] [FINISHED] dev [..]
[RUNNING] `target/debug/foo[EXE]`" [RUNNING] `target/debug/foo[EXE]`"
)) ))
@ -439,15 +439,15 @@ fn diagnostics_works() {
"\ "\
[RUNNING] [..]rustc [..]\ [RUNNING] [..]rustc [..]\
-Zremap-path-scope=diagnostics \ -Zremap-path-scope=diagnostics \
--remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..] \ --remap-path-prefix={pkg_remap} \
--remap-path-prefix={pkg_remap} [..]", --remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..]",
)) ))
.with_stderr_contains( .with_stderr_contains(
"\ "\
[RUNNING] [..]rustc [..]\ [RUNNING] [..]rustc [..]\
-Zremap-path-scope=diagnostics \ -Zremap-path-scope=diagnostics \
--remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..] \ --remap-path-prefix=[CWD]= \
--remap-path-prefix=[CWD]= [..]", --remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..]",
) )
.run(); .run();
} }
@ -528,13 +528,13 @@ fn object_works() {
[COMPILING] bar v0.0.1 [COMPILING] bar v0.0.1
[RUNNING] `rustc [..]\ [RUNNING] `rustc [..]\
-Zremap-path-scope=object \ -Zremap-path-scope=object \
--remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..] \ --remap-path-prefix={pkg_remap} \
--remap-path-prefix={pkg_remap} [..] --remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..]
[COMPILING] foo v0.0.1 ([CWD]) [COMPILING] foo v0.0.1 ([CWD])
[RUNNING] `rustc [..]\ [RUNNING] `rustc [..]\
-Zremap-path-scope=object \ -Zremap-path-scope=object \
--remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..] \ --remap-path-prefix=[CWD]= \
--remap-path-prefix=[CWD]= [..] --remap-path-prefix=[..]/lib/rustlib/src/rust=/rustc/[..]
[FINISHED] dev [..]", [FINISHED] dev [..]",
)) ))
.run(); .run();