diff options
| author | Aaron Hill <aa1ronham@gmail.com> | 2020-09-18 16:18:10 -0400 |
|---|---|---|
| committer | Aaron Hill <aa1ronham@gmail.com> | 2020-09-26 12:26:27 -0400 |
| commit | b9653568a78ff3936ce78a1c65b6c83ff53702a4 (patch) | |
| tree | b09d8480545b04e322502af32bbbade05bf34ef6 /library/std/src/sys/unix/process/process_unix.rs | |
| parent | 6f9a8a7f9b9732c55511d2a2a3914e8feafc7c52 (diff) | |
| download | rust-b9653568a78ff3936ce78a1c65b6c83ff53702a4.tar.gz rust-b9653568a78ff3936ce78a1c65b6c83ff53702a4.zip | |
Encode less metadata for proc-macro crates
Currently, we serialize the same crate metadata for proc-macro crates as we do for normal crates. This is quite wasteful - almost none of this metadata is ever used, and much of it can't even be deserialized (if it contains a foreign `CrateNum`). This PR changes metadata encoding to skip encoding the majority of crate metadata for proc-macro crates. Most of the `Lazy<[T]>` fields are left completetly empty, while the non-lazy fields are left as-is. Additionally, proc-macros now have a def span that does not include their body. This was done for normal functions in #75465, but was missed for proc-macros. As a result of this PR, we should only ever encode local `CrateNum`s when encoding proc-macro crates. I've added a specialized serialization impl for `CrateNum` to assert this.
Diffstat (limited to 'library/std/src/sys/unix/process/process_unix.rs')
0 files changed, 0 insertions, 0 deletions
