about summary refs log tree commit diff
path: root/library/std/src/sys/unix/process/process_unix.rs
diff options
context:
space:
mode:
authorAaron Hill <aa1ronham@gmail.com>2020-09-18 16:18:10 -0400
committerAaron Hill <aa1ronham@gmail.com>2020-09-26 12:26:27 -0400
commitb9653568a78ff3936ce78a1c65b6c83ff53702a4 (patch)
treeb09d8480545b04e322502af32bbbade05bf34ef6 /library/std/src/sys/unix/process/process_unix.rs
parent6f9a8a7f9b9732c55511d2a2a3914e8feafc7c52 (diff)
downloadrust-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