-
Notifications
You must be signed in to change notification settings - Fork 181
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
substitute answers into pending goals without using unification
This is not only more efficient, but it also sidesteps the problems that led to the SLG solver recursing infinitely when unifying goals involving projections. This also uncovers a potential flaw with the truncation operation, in that it does not concern itself with internal binders. For example, we might truncate a type like `for<'a> fn(Vec<&'a u32>)` into `for<'a> fn(?X)`. This is problematic because there is no value of `?X` that could reference `'a`. For now, the SLG solver will panic in this scenario, but probably truncation needs to truncate the binder as well.
- Loading branch information
1 parent
563a8b0
commit 4ddc058
Showing
4 changed files
with
301 additions
and
122 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.