Skip to content

generator_interior should be refactored to use ExprUseVisitor #94463

@eholk

Description

@eholk

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-async-awaitArea: Async & AwaitA-technical-debtArea: Internal cleanup workAsyncAwait-TriagedAsync-await issues that have been triaged during a working group meeting.C-cleanupCategory: PRs that clean code up or issues documenting cleanup.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions