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
Structural types forming non-regular trees can be defined through recursive modules. #3935
Comments
Comment author: @garrigue It seems that the problem could be avoided by re-checking regularity. |
This issue has been open one year with no activity. Consequently, it is being marked with the "stale" label. What this means is that the issue will be automatically closed in 30 days unless more comments are added or the "stale" label is removed. Comments that provide new information on the issue are especially welcome: is it still reproducible? did it appear in other contexts? how critical is it? etc. |
While the impact is not clear, this is an important concern. |
This issue has been open one year with no activity. Consequently, it is being marked with the "stale" label. What this means is that the issue will be automatically closed in 30 days unless more comments are added or the "stale" label is removed. Comments that provide new information on the issue are especially welcome: is it still reproducible? did it appear in other contexts? how critical is it? etc. |
Here's a somewhat cut-down program that also causes the type-checker to loop in 4.12.0: module rec F : functor (X:sig type t end) ->
sig type t = X.t * X.t type u = [`C of F(F(X)).u] end = F
module X = F(struct type t = int end) |
This issue has been open one year with no activity. Consequently, it is being marked with the "stale" label. What this means is that the issue will be automatically closed in 30 days unless more comments are added or the "stale" label is removed. Comments that provide new information on the issue are especially welcome: is it still reproducible? did it appear in other contexts? how critical is it? etc. |
Original bug ID: 3935
Reporter: anonymous
Status: acknowledged (set by @damiendoligez on 2006-01-05T13:21:33Z)
Resolution: open
Priority: normal
Severity: minor
Version: 3.09.0
Target version: later
Category: typing
Tags: recmod, typing
Related to: #3674 #7726
Monitored by: "Keiko NAKATA"
Bug description
I think this problem is related to the issue 0003674.
Using recursive modules,
I can define structural types forming non-regular trees.
These types can cause non-termination of the core language type checker
when they are used.
File attachments
The text was updated successfully, but these errors were encountered: