mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-04 19:10:32 +00:00
Support fixpoint-fixing under recursion variables
Sometimes, we might need to fixpoint-fix a unification like [ Bar [ Bar <a>, Foo ], Foo ] as <a> 🛠️ [ Bar <b>, Foo ] as <b> where we hit a comparison between <a> and <b>. In this case, follow each recursion point independently and see if we can find the chain to the needle we were searching for. Closes #5476
This commit is contained in:
parent
b3c598fcf6
commit
49a92e5ef1
3 changed files with 65 additions and 1 deletions
|
@ -92,6 +92,9 @@ flags! {
|
|||
/// Prints all type mismatches hit during type unification.
|
||||
ROC_PRINT_MISMATCHES
|
||||
|
||||
/// Prints all type variables entered for fixpoint-fixing.
|
||||
ROC_PRINT_FIXPOINT_FIXING
|
||||
|
||||
/// Verifies that after let-generalization of a def, any rigid variables in the type annotation
|
||||
/// of the def are indeed generalized.
|
||||
///
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue