diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-10-24 20:19:59 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-10-24 20:19:59 +0200 |
| commit | cdb7634f0c87d7bd25773b7a0a0fde3bc26322de (patch) | |
| tree | 850e02b482576d035a42dc9a8e6ae059c40237bd /src/libsyntax/parse/parser/expr.rs | |
| parent | 8e0007f829661e57d008d2e908c95f6e84b04b25 (diff) | |
| parent | 94216ce3adfdb7d6c206505fca736d274a98ad2b (diff) | |
| download | rust-cdb7634f0c87d7bd25773b7a0a0fde3bc26322de.tar.gz rust-cdb7634f0c87d7bd25773b7a0a0fde3bc26322de.zip | |
Rollup merge of #65625 - petrochenkov:cstore, r=Mark-Simulacrum,Zoxc
Turn crate store into a resolver output Crate store (`CStore`) is a vector of data (`CrateMetadata`) associated with extern crates loaded during the current compilation session. All crates are loaded in the resolver when resolving either paths pointing to extern prelude or `extern crate` items. (There are also a couple of crates like panic runtime that are loaded kind of like implicit `extern crate`s, but that also happens in resolve.) The use of `CStore` from `rustc_plugin` (which is outside of the resolver) was unnecessary because legacy plugins are not added to the crate store and don't use `CrateNum`s. So, `CStore` can be produced by the resolver instead of being kept in some really global data (`rustc_interface::Compiler`) like now. As a result of crate store being more "local" we can now remove some locks and `Lrc`s.
Diffstat (limited to 'src/libsyntax/parse/parser/expr.rs')
0 files changed, 0 insertions, 0 deletions
