-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Open
Labels
C-cleanupCategory: PRs that clean code up or issues documenting cleanup.Category: PRs that clean code up or issues documenting cleanup.T-typesRelevant to the types team, which will review and decide on the PR/issue.Relevant to the types team, which will review and decide on the PR/issue.
Description
Given an instantiated binder for<'a, 'b, 'c>
, the goals
T: Trait<'!a, '!b>
T: Trait<'!b, '!c>
T: Trait<'!b, '!a>
should all result in the same canonical input. They currently do not, as we simply reuse the bound_var
of the placeholder in the caller as the bound_var
of the placeholder in the canonical. This only impacts perf and at least for now, is likely not too relevant.
Concretely, CanonicalVarKind should only store the universe of placeholder vars and instantiating a canonical should be responsible for giving each placeholder a unique bound var.
Metadata
Metadata
Assignees
Labels
C-cleanupCategory: PRs that clean code up or issues documenting cleanup.Category: PRs that clean code up or issues documenting cleanup.T-typesRelevant to the types team, which will review and decide on the PR/issue.Relevant to the types team, which will review and decide on the PR/issue.