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

rustc: produce AST instead of HIR from hir::lowering::Resolver methods. #61987

Merged
merged 1 commit into from
Jun 25, 2019

Conversation

eddyb
Copy link
Member

@eddyb eddyb commented Jun 20, 2019

This avoids synthesizing HIR nodes in rustc_resolve, and rustc::hir::lowering patching up the result after the fact (I suspect this is even more significant for @Zoxc's chages to arena-allocate the HIR).

r? @oli-obk

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jun 20, 2019
@eddyb
Copy link
Member Author

eddyb commented Jun 21, 2019

Hmm, @oli-obk is busy. r? @petrochenkov

@petrochenkov
Copy link
Contributor

r=me with oli-obk's comment addressed

@petrochenkov petrochenkov added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 22, 2019
@eddyb eddyb force-pushed the hirless-resolver branch from 956be99 to e6ee8a0 Compare June 25, 2019 12:35
@eddyb
Copy link
Member Author

eddyb commented Jun 25, 2019

@bors r=petrochenkov

@bors
Copy link
Contributor

bors commented Jun 25, 2019

📌 Commit e6ee8a0 has been approved by petrochenkov

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Jun 25, 2019
Centril added a commit to Centril/rust that referenced this pull request Jun 25, 2019
rustc: produce AST instead of HIR from `hir::lowering::Resolver` methods.

This avoids synthesizing HIR nodes in `rustc_resolve`, and `rustc::hir::lowering` patching up the result after the fact (I suspect this is even more significant for @Zoxc's chages to arena-allocate the HIR).

r? @oli-obk
bors added a commit that referenced this pull request Jun 25, 2019
Rollup of 7 pull requests

Successful merges:

 - #61814 (Fix an ICE with uninhabited consts)
 - #61987 (rustc: produce AST instead of HIR from `hir::lowering::Resolver` methods.)
 - #62055 (Fix error counting)
 - #62078 (Remove built-in derive macros `Send` and `Sync`)
 - #62085 (Add test for issue-38591)
 - #62091 (HirIdification: almost there)
 - #62096 (Implement From<Local> for Place and PlaceBase)

Failed merges:

r? @ghost
@bors bors merged commit e6ee8a0 into rust-lang:master Jun 25, 2019
@eddyb eddyb deleted the hirless-resolver branch June 26, 2019 06:28
Manishearth added a commit to Manishearth/rust that referenced this pull request Jul 2, 2019
rustc: use a separate copy of P for HIR than for AST.

Note: this currently includes/is based on top of rust-lang#61987.

Like rust-lang#61968, but goes one step further and uses a separate `P<...>` for the HIR, with no `Clone`, or the ability to mutate after allocation.
There is still `into_inner`/`into_iter`, but they're only exposed for `hir::lowering`, and they would take more work to untangle.

r? @petrochenkov cc @rust-lang/compiler
bors added a commit that referenced this pull request Jul 3, 2019
rustc: use a separate copy of P for HIR than for AST.

Note: this currently includes/is based on top of #61987.

Like #61968, but goes one step further and uses a separate `P<...>` for the HIR, with no `Clone`, or the ability to mutate after allocation.
There is still `into_inner`/`into_iter`, but they're only exposed for `hir::lowering`, and they would take more work to untangle.

r? @petrochenkov cc @rust-lang/compiler
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants