Skip to content

Pruning unused declarations after mutation #839

@goto-bus-stop

Description

@goto-bus-stop

When you mutate an executable document, fragments or variables that were previously in use may become unused. Currently the user is responsible for tracking this and pruning the now-unused definitions, otherwise the mutated document is invalid. It's not that trivial to do given that usages may occur anywhere in the document. I think it would be better if apollo-rs can do this. It may just have to be something like document.prune_unused() at the minimum, but maybe we can figure out something more ergonomic (eg. combining validation and pruning into a single method, since you would normally want to do this at the point where you finish mutating and turn your document into a Valid<ExecutableDocument>)

Metadata

Metadata

Assignees

No one assigned

    Labels

    apollo-compilerissues/PRs pertaining to semantic analysis & validation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions