]> git.lizzy.rs Git - rust.git/commit
Auto merge of #86876 - jyn514:56935-target-crate-num, r=petrochenkov
authorbors <bors@rust-lang.org>
Thu, 15 Jul 2021 02:39:38 +0000 (02:39 +0000)
committerbors <bors@rust-lang.org>
Thu, 15 Jul 2021 02:39:38 +0000 (02:39 +0000)
commitb9197978a90be6f7570741eabe2da175fec75375
tree9e9466a496a1b5f38bf38b0201ded9ec9d586b07
parent9c107816f7b351ea5b5043cdbec52901a77526de
parent68b959827bfba1dd942c84d6ccbcc32e7b6d98a1
Auto merge of #86876 - jyn514:56935-target-crate-num, r=petrochenkov

Reuse CrateNum for proc-macro crates even when cross-compiling

Proc-macros are always compiled for the host, so this should be the same
in every way as recompiling the crate.

I am not sure why the previous code special-cased the target, since the
compiler properly gives an error when trying to load a crate for a
different host:

```
error[E0461]: couldn't find crate `dependency` with expected target triple x86_64-unknown-linux-gnu
  --> /home/joshua/rustc4/src/test/ui/cfg-dependent.rs:8:2
   |
LL |     dependency::is_64();
   |     ^^^^^^^^^^
   |
   = note: the following crate versions were found:
           crate `dependency`, target triple i686-unknown-linux-gnu: /home/joshua/rustc4/build/x86_64-unknown-linux-gnu/test/ui/cfg-dependent/auxiliary/libdependency.so
```

I think another possible fix is to remove the check altogether. But I'm
not sure, and this fix works, so I'm not making the larger change here.

Fixes https://github.com/rust-lang/rust/issues/56935.

r? `@petrochenkov` cc `@alexcrichton`
compiler/rustc_metadata/src/creader.rs