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
Undefined_recursive_module #2920
Comments
Comment author: administrator Suite du bug-report 2920. J'ai réduit le problème à: ============================================================= module type S = sig module F(X : T) = struct let x = 0 module rec A : and B : S with type elem = A.t = F(A) let _ = B.at 0==> Fatal error: exception Undefined_recursive_module("types.ml", 22, 2) -- Alain |
Comment author: administrator
Petite réduction supplémentaire: ======================================================== module rec A : and B : let _ = B.at 100 ======================================================= qui provoque le même problème avec OCaml 3.07. En regardant la sortie de -dinstr, je vois ce qu'il se passe. Lorsque (Le comportement était caché dans 3.07 parce que les coercions étaient Cette manière de compiler le module rec me semble assez fragile: pourquoi -- Alain |
Comment author: administrator
Oui, c'est exactement cela.
Le problème est qu'on ne sait pas prédire à l'avance la taille de ces Je suis bien d'accord que ce schéma de compilation du "module rec" est
|
Comment author: administrator On Mon, 12 Jul 2004, Xavier Leroy wrote:
Dans le cas où les définitions sont des abstractions explicites, ça
Le fait qu'il dépende de l'ordre dans un module "pur" (avec seulement -- Alain |
Comment author: administrator Revised 'module rec' compilation. XL, 2004-08-13 |
Original bug ID: 2920
Reporter: administrator
Status: closed
Resolution: fixed
Priority: normal
Severity: minor
Category: ~DO NOT USE (was: OCaml general)
Bug description
Hello,
Doit-on s'attendre à des exceptions Undefined_recursive_module qui
apparaissent avec le compilateur de la branche 3.08, et pas avec 3.07 ?
(Le module ~frisch/cduce/types/types.ml provoque à l'execution:
Fatal error: exception Undefined_recursive_module("types/types.ml", 352, 0)
alors que tout se passe bien avec OCaml 3.07)
Alain
The text was updated successfully, but these errors were encountered: