-
Notifications
You must be signed in to change notification settings - Fork 22
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
exporter: refactor Clause
s
#661
Comments
This may cause issues because we don't have access to the binder when recursively converting enum PredicateKind {
Clause(UnboundClause),
...
} with an API to get from Predicate to Clause by mapping the binder over like rustc does. Maybe there's a simpler option. |
Yes, that's a good point. To recap a bit, the issue is that if we go with a If we confirm we should always work with Currently What about defining a Edit: and ClauseId might be better named PredicateId |
Regarding our conversation in your PR @Nadrieril, I'm not crazy: there was a renaming from Clause to ClauseKind in Rustc... Clauses used not to have binders at all! In commit fca56a8, the type |
While defining
Clause
s I was a bit aggressive towards binders, and entirely got rid of them. This is a bad design, as pointed out by @Nadrieril in our conversation in #655.Currently, a
Clause
is aClauseKind
+ an identifier.We should instead have a
Clause
being a struct with first aBinder<ClauseKind>
and then aClauseId
, which accounts for binders.The text was updated successfully, but these errors were encountered: