mirror of
https://github.com/rust-lang/cargo.git
synced 2025-09-25 11:14:46 +00:00
fix(build-std): always link to std when testing/running proc-macros
This commit is contained in:
parent
33e6b331c8
commit
4527567c9f
@ -315,7 +315,10 @@ impl<'gctx> Compilation<'gctx> {
|
||||
// libs from the sysroot that ships with rustc. This may not be
|
||||
// required (at least I cannot craft a situation where it
|
||||
// matters), but is here to be safe.
|
||||
if self.gctx.cli_unstable().build_std.is_none() {
|
||||
if self.gctx.cli_unstable().build_std.is_none() ||
|
||||
// Proc macros dynamically link to std, so set it anyway.
|
||||
pkg.proc_macro()
|
||||
{
|
||||
search_path.push(self.sysroot_target_libdir[&kind].clone());
|
||||
}
|
||||
}
|
||||
|
@ -386,15 +386,7 @@ fn test_proc_macro() {
|
||||
[COMPILING] foo v0.0.0 ([ROOT]/foo)
|
||||
[FINISHED] `test` profile [unoptimized + debuginfo] target(s) in [ELAPSED]s
|
||||
[RUNNING] unittests src/lib.rs (target/debug/deps/foo-[HASH])
|
||||
dyld[[..]]: Library not loaded: @rpath/libstd-[HASH].dylib
|
||||
Referenced from: <[..]> [ROOT]/foo/target/debug/deps/foo-[HASH]
|
||||
Reason: tried: '[ROOT]/foo/target/debug/deps/libstd-[HASH].dylib' (no such file), '[ROOT]/foo/target/debug/libstd-[HASH].dylib' (no such file), '/usr/local/lib/libstd-[HASH].dylib' (no such file), '/usr/lib/libstd-[HASH].dylib' (no such file, not in dyld cache)
|
||||
[ERROR] test failed, to rerun pass `--lib`
|
||||
|
||||
Caused by:
|
||||
process didn't exit successfully: `[ROOT]/foo/target/debug/deps/foo-[HASH]` ([..])
|
||||
|
||||
"#]])
|
||||
.with_status(101)
|
||||
.run();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user