Skip to content
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

Merged
merged 10 commits into from
Nov 26, 2015

Conversation

arielb1
Copy link
Contributor

@arielb1 arielb1 commented Nov 24, 2015

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

@alexcrichton
Copy link
Member

🌜

@nikomatsakis
Copy link
Contributor

Yeah, I like this approach here.

@nikomatsakis
Copy link
Contributor

this looks good. r=me on the commits so far if we add some kind of comment explaining that Any is a temporary hack to avoid regressing plugins that we plan to remove eventually.

@arielb1 arielb1 changed the title [WIP] split rustc::metadata to a rustc_metadata crate split rustc::metadata to a rustc_metadata crate Nov 25, 2015
@arielb1
Copy link
Contributor Author

arielb1 commented Nov 25, 2015

@bors r=nmatsakis

@bors
Copy link
Contributor

bors commented Nov 25, 2015

📌 Commit f617e93 has been approved by nmatsakis

@huonw
Copy link
Member

huonw commented Nov 25, 2015

Needs a rebase.

@arielb1
Copy link
Contributor Author

arielb1 commented Nov 25, 2015

@bors r=nmatsakis

@bors
Copy link
Contributor

bors commented Nov 25, 2015

📌 Commit 2b7b8d1 has been approved by nmatsakis

@bors
Copy link
Contributor

bors commented Nov 25, 2015

⌛ Testing commit 2b7b8d1 with merge 10b1ffb...

bors added a commit that referenced this pull request Nov 25, 2015
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
@bors
Copy link
Contributor

bors commented Nov 25, 2015

💔 Test failed - auto-mac-64-nopt-t

@bors
Copy link
Contributor

bors commented Nov 26, 2015

☔ The latest upstream changes (presumably #30015) made this pull request unmergeable. Please resolve the merge conflicts.

@arielb1
Copy link
Contributor Author

arielb1 commented Nov 26, 2015

@bors r=nikomatsakis

@bors
Copy link
Contributor

bors commented Nov 26, 2015

📌 Commit 43a6deb has been approved by nikomatsakis

bors added a commit that referenced this pull request Nov 26, 2015
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
@bors
Copy link
Contributor

bors commented Nov 26, 2015

⌛ Testing commit 43a6deb with merge 6ef02ef...

@bors bors merged commit 43a6deb into rust-lang:master Nov 26, 2015
hobofan added a commit to hobofan/rust-clippy that referenced this pull request Nov 27, 2015
Fixes brakage introduced by rust-lang/rust#30043
hobofan added a commit to hobofan/rust-clippy that referenced this pull request Nov 27, 2015
Fixes breakage introduced by rust-lang/rust#30043
sgrif added a commit to sgrif/quasi that referenced this pull request Nov 27, 2015
`rustc::plugin` is now `rustc_plugin`
erickt added a commit to serde-deprecated/quasi that referenced this pull request Nov 29, 2015
sgrif added a commit to sgrif/quickcheck that referenced this pull request Dec 2, 2015
As of rust-lang/rust#30043, `rustc::plugin` is
now `rustc_plugin`.
sgrif added a commit to sgrif/quickcheck that referenced this pull request Dec 2, 2015
As of rust-lang/rust#30043, `rustc::plugin` is
now `rustc_plugin`.
bors added a commit that referenced this pull request Jan 13, 2016
Fixes #30477, #30213.

The loop over reexports used to be a closure before #30043 but it's an iterator now so it should just continue instead of exiting the loop and skipping stuff.

r? @brson
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants