-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Loopy constraints cause ocamlc to loop #12145
Comments
To be clear about "credit", @lpw25 and I devised this a while ago while trying to understand this part of type declaration checking. I should have reported it at the time, but there is some older issue I'm having trouble tracking down now that I thought might be the same problem (but I ran out of time thinking about that and then forgot about it until yesterday). As Richard says, I think this is more a curiosity than a real problem. |
If we don't know how to order these tests, maybe we should try to check both well-formedness properties at once? |
Actually here the loop is not in the constraint consistency check, but in |
(Credit to @ccasin, who devised this example.)
When ocamlc sees
it goes into a loop and never returns. Tested on 5.0.0. 4.14.0 stack-overflows (but doesn't hang).
This is not a real problem for me or anyone else -- instead, it was what happened after I asked Chris "why do you think that the constraint consistency check for mutually recursive type definitions is OK before the well-foundedness check?". It turns out that it's likely not OK.
The text was updated successfully, but these errors were encountered: