-
-
Notifications
You must be signed in to change notification settings - Fork 15k
generator_interior should be refactored to use ExprUseVisitor #94463
Copy link
Copy link
Closed
Labels
A-async-awaitArea: Async & AwaitArea: Async & AwaitA-technical-debtArea: Internal cleanup workArea: Internal cleanup workAsyncAwait-TriagedAsync-await issues that have been triaged during a working group meeting.Async-await issues that have been triaged during a working group meeting.C-cleanupCategory: PRs that clean code up or issues documenting cleanup.Category: PRs that clean code up or issues documenting cleanup.
Metadata
Metadata
Assignees
Labels
A-async-awaitArea: Async & AwaitArea: Async & AwaitA-technical-debtArea: Internal cleanup workArea: Internal cleanup workAsyncAwait-TriagedAsync-await issues that have been triaged during a working group meeting.Async-await issues that have been triaged during a working group meeting.C-cleanupCategory: PRs that clean code up or issues documenting cleanup.Category: PRs that clean code up or issues documenting cleanup.
Type
Fields
Give feedbackNo fields configured for issues without a type.
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.