-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
split rustc::metadata to a rustc_metadata crate #30043
Conversation
🌜 |
Yeah, I like this approach here. |
this looks good. r=me on the commits so far if we add some kind of comment explaining that |
@bors r=nmatsakis |
📌 Commit f617e93 has been approved by |
Needs a rebase. |
f617e93
to
2b7b8d1
Compare
@bors r=nmatsakis |
📌 Commit 2b7b8d1 has been approved by |
This improves bootstrap times because of better parallelism - though I need to measure how much - and allows metadata to be modified without triggering a full recompile. This also ensures that metadata handling and the rest of rustc remain decoupled, which is a first step for switching to a new metadata format. This is a [breaking-change] to all plugin authors because of the following renames: * `rustc::plugin` is now `rustc_plugin` * `rustc::metadata` is now `rustc_metadata` * Most data types from `rustc::metadata`, along with `LOCAL_CRATE`, are now in `rustc::middle::cstore`. * The CStore methods were split between the `rustc::middle::CrateStore` trait (and trait object) and the `rustc_metadata::cstore::CStore`, with an `Rc<CrateStore>` stored in the `Session`. The inner `CStore` can be accessed via the inner `Any` bound, but this is deprecated. r? @nikomatsakis
💔 Test failed - auto-mac-64-nopt-t |
☔ The latest upstream changes (presumably #30015) made this pull request unmergeable. Please resolve the merge conflicts. |
rustdoc still broken
this is a [breaking-change] to all plugin authors - sorry
tests & rustdoc still broken
2b7b8d1
to
43a6deb
Compare
@bors r=nikomatsakis |
📌 Commit 43a6deb has been approved by |
This improves bootstrap times because of better parallelism - though I need to measure how much - and allows metadata to be modified without triggering a full recompile. This also ensures that metadata handling and the rest of rustc remain decoupled, which is a first step for switching to a new metadata format. This is a [breaking-change] to all plugin authors because of the following renames: * `rustc::plugin` is now `rustc_plugin` * `rustc::metadata` is now `rustc_metadata` * Most data types from `rustc::metadata`, along with `LOCAL_CRATE`, are now in `rustc::middle::cstore`. * The CStore methods were split between the `rustc::middle::CrateStore` trait (and trait object) and the `rustc_metadata::cstore::CStore`, with an `Rc<CrateStore>` stored in the `Session`. The inner `CStore` can be accessed via the inner `Any` bound, but this is deprecated. r? @nikomatsakis
Fixes brakage introduced by rust-lang/rust#30043
Fixes breakage introduced by rust-lang/rust#30043
`rustc::plugin` is now `rustc_plugin`
As of rust-lang/rust#30043, `rustc::plugin` is now `rustc_plugin`.
As of rust-lang/rust#30043, `rustc::plugin` is now `rustc_plugin`.
This improves bootstrap times because of better parallelism - though I need to measure how much - and allows metadata to be modified without triggering a full recompile. This also ensures that metadata handling and the rest of rustc remain decoupled, which is a first step for switching to a new metadata format.
This is a [breaking-change] to all plugin authors because of the following renames:
rustc::plugin
is nowrustc_plugin
rustc::metadata
is nowrustc_metadata
rustc::metadata
, along withLOCAL_CRATE
, are now inrustc::middle::cstore
.rustc::middle::CrateStore
trait (and trait object) and therustc_metadata::cstore::CStore
, with anRc<CrateStore>
stored in theSession
. The innerCStore
can be accessed via the innerAny
bound, but this is deprecated.r? @nikomatsakis