Skip to content

internal refactoring: cleanup type relations #121159

Open
@lcnr

Description

@lcnr

we should try to clean up our type relations further:

  • try to unify Equate and Sub to make them closer to nll::TypeRelating
  • merge Lub and Glb into the same (maybe generic) type relation, prolly just with a field
  • reuse more components, e.g. instantiating infer vars should be shared, not only generalize
  • completely merge Equate/Sub and nll:TypeRelating

I intend to look into this myself but would also appreciate some help. This is a quite involved and sometimes subtle area however and I don't have the capacity for in-depth mentoring rn

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-technical-debtArea: Internal cleanup workA-type-systemArea: Type systemC-cleanupCategory: PRs that clean code up or issues documenting cleanup.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.T-typesRelevant to the types team, which will review and decide on the PR/issue.WG-trait-system-refactorThe Rustc Trait System Refactor Initiative (-Znext-solver)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions