Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rework how canonical and universe mapping works #512

Open
nikomatsakis opened this issue Jun 10, 2020 · 1 comment
Open

rework how canonical and universe mapping works #512

nikomatsakis opened this issue Jun 10, 2020 · 1 comment
Assignees
Labels
C-chalk-solve Issues related to the chalk-solve crate

Comments

@nikomatsakis
Copy link
Contributor

nikomatsakis commented Jun 10, 2020

As discussed in this Zulip thread, the existing canonical logic is broken:

  • First, map_from_canonical needs to remap the universes in the canonical binders
  • Second, we need to preserve all universes from the input, not just those that appear in placeholders

Finally, this might be an opportunity to refactor canonical so that it canoncializes both inference variables and placeholders, like rustc does. This would permit us to remap univeses by just adjusting the canonical meta-data.

Steps to fix:

  • Create some test cases that show how current behavior is wrong
  • Fix current behavior first, perhaps?
  • Then do the nicer refactoring?
@nikomatsakis
Copy link
Contributor Author

@rustbot assign @Areredify

This was referenced Jun 10, 2020
@jackh726 jackh726 added the C-chalk-solve Issues related to the chalk-solve crate label Dec 11, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-chalk-solve Issues related to the chalk-solve crate
Projects
None yet
Development

No branches or pull requests

3 participants