diff --git a/src/cargo/core/compiler/layout.rs b/src/cargo/core/compiler/layout.rs index b5d7dea6e64..e3dd6eaf13b 100644 --- a/src/cargo/core/compiler/layout.rs +++ b/src/cargo/core/compiler/layout.rs @@ -172,7 +172,7 @@ impl Layout { fingerprint: dest.join(".fingerprint"), examples: dest.join("examples"), doc: root.join("doc"), - tmp: dest.join("tmp"), + tmp: root.join("tmp"), root, dest, _lock: lock, diff --git a/src/cargo/util/toml/mod.rs b/src/cargo/util/toml/mod.rs index e1919c94603..059c4480377 100644 --- a/src/cargo/util/toml/mod.rs +++ b/src/cargo/util/toml/mod.rs @@ -642,6 +642,7 @@ impl TomlProfile { | "rust" | "rustc" | "rustdoc" + | "tmp" | "uninstall" ) || lower_name.starts_with("cargo") { diff --git a/src/doc/src/reference/environment-variables.md b/src/doc/src/reference/environment-variables.md index 09b9e975514..dcff9b7f81a 100644 --- a/src/doc/src/reference/environment-variables.md +++ b/src/doc/src/reference/environment-variables.md @@ -233,7 +233,6 @@ corresponding environment variable is set to the empty string, `""`. where integration tests or benchmarks are free to put any data needed by the tests/benches. Cargo initially creates this directory but doesn't manage its content in any way, this is the responsibility of the test code. - There are separate directories for `debug` and `release` profiles. [integration test]: cargo-targets.md#integration-tests [`env` macro]: ../../std/macro.env.html diff --git a/tests/testsuite/build.rs b/tests/testsuite/build.rs index ae31707a7d5..8417586a942 100644 --- a/tests/testsuite/build.rs +++ b/tests/testsuite/build.rs @@ -1377,7 +1377,10 @@ fn crate_env_vars() { let tmpdir: PathBuf = tmp.unwrap().into(); let exe: PathBuf = env::current_exe().unwrap().into(); - let mut expected: PathBuf = exe.parent().unwrap().parent().unwrap().into(); + let mut expected: PathBuf = exe.parent().unwrap() + .parent().unwrap() + .parent().unwrap() + .into(); expected.push("tmp"); assert_eq!(tmpdir, expected);