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

generator_interior should be refactored to use ExprUseVisitor #94463

Open
eholk opened this issue Feb 28, 2022 · 3 comments
Open

generator_interior should be refactored to use ExprUseVisitor #94463

eholk opened this issue Feb 28, 2022 · 3 comments
Labels
A-async-await Area: Async & Await A-technical-debt Area: Internal cleanup work AsyncAwait-Triaged Async-await issues that have been triaged during a working group meeting. C-cleanup Category: PRs that clean code up or issues documenting cleanup.

Comments

@eholk
Copy link
Contributor

eholk commented Feb 28, 2022

With the introduction of generator drop tracking, we essentially have two generator interior type analyses: the previous scope tree based analysis and the new drop tracking analysis. The two analyses cover different aspects of generator interior analysis, but having two of them makes the code complicated, adds weird edge cases and heuristics, and comes at a performance cost.

It should be possible to rewrite the entire generator interior analysis to be based around ExprUseVisitor. This should simplify the code, improve performance, make generator interiors more consistent with the rest of Rust, and make it easier to be still more precise in the analysis.

@eholk
Copy link
Contributor Author

eholk commented Feb 28, 2022

@rustbot label +A-async-await +A-technical-debt

@rustbot rustbot added A-async-await Area: Async & Await A-technical-debt Area: Internal cleanup work labels Feb 28, 2022
@eholk
Copy link
Contributor Author

eholk commented Feb 28, 2022

@rustbot label +C-cleanup

@rustbot rustbot added the C-cleanup Category: PRs that clean code up or issues documenting cleanup. label Feb 28, 2022
@eholk
Copy link
Contributor Author

eholk commented Mar 14, 2022

@rustbot label +AsyncAwait-Triaged

@rustbot rustbot added the AsyncAwait-Triaged Async-await issues that have been triaged during a working group meeting. label Mar 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-async-await Area: Async & Await A-technical-debt Area: Internal cleanup work AsyncAwait-Triaged Async-await issues that have been triaged during a working group meeting. C-cleanup Category: PRs that clean code up or issues documenting cleanup.
Projects
None yet
Development

No branches or pull requests

2 participants