-
Notifications
You must be signed in to change notification settings - Fork 182
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
Refactor LifetimeOutlives
goals to produce AddRegionConstraint
subgoals
#527
Refactor LifetimeOutlives
goals to produce AddRegionConstraint
subgoals
#527
Conversation
7980573
to
e755dec
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me. A lot cleaner overall. I'm wondering if it's still worth experimenting with having program_clauses
return constraints too. (One other solution we talked about).
Can you check if there are any relevant docs in the book that need to be updated?
Sorry, I meant to comment on this PR -- I was also wondering about the idea of having the @nathanwhit did you see that proposal and does it make sense to you? (i.e., do you understand what we're proposing) |
e755dec
to
05f8225
Compare
@jackh726 Updated the chalk book to reflect this PR (there was really only one section that needed changing). |
So, I'm mostly okay with merging this as-is. But I do agree with @nikomatsakis that I would like to see to @nikomatsakis okay with you to merge this without closing #508? |
So I've read through the discussion on zulip a few times, and I understand the proposal in broad strokes but I'm a bit unsure of the details. The main point I'm unclear on is whether the proposal is to:
|
I think in my mind, I was originally imagining that |
I think the best thing would be to make Basically our formulation is that we have a program clause of the form
where |
The only downside I think with having the region constraints be a part of |
@jackh726 right, most are empty, so I figured that this code is minimal (a few bytes). Still, maybe an issue for performance at some point. |
@nikomatsakis not sure if you saw this |
This PR implements the suggestion described in this comment, modulo the "next steps" described.
I'm not sure if this is ultimately the approach we want to take, but this at least allows for simplification of the unifier and reduces the amount of hard-coded
DomainGoal
logic in the solver.Closes #508.