Skip to content

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

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

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
Collaborator

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
# for free to join this conversation on GitHub. Already have an account? # 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