| Anonymous | Login | Signup for a new account | 2013-05-19 18:18 CEST | ![]() |
| Main | My View | View Issues | Change Log | Roadmap |
| View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | |||||||
| ID | Project | Category | View Status | Date Submitted | Last Update | |||
| 0000105 | OCaml | OCaml general | public | 2000-04-28 16:08 | 2000-05-16 10:45 | |||
| Reporter | administrator | |||||||
| Assigned To | ||||||||
| Priority | normal | Severity | minor | Reproducibility | always | |||
| Status | closed | Resolution | fixed | |||||
| Platform | OS | OS Version | ||||||
| Product Version | ||||||||
| Target Version | Fixed in Version | |||||||
| Summary | 0000105: BUG ocaml 2.04 | |||||||
| Description | J'obtient une erreur Stack overflow au moment de la compilation du fichier f3.ml. A vue de nez, le problème semble venir d'une mauvaise gestion des contextes des expressions << with type t >> dans les fichiers .mli. La compilation se passe sans problèmes des que je renomme le type F2.t ou que j'inline le fichier f1.mli dans f2.mli. - J'utilise le compilo ocaml-2.04 sous SunOS 5.6 - J'avais déjà rencontré ce problème avec un version antérieur d'ocaml (sans doute 2.02). Je n'ai pas encore testé la 3.00. Yann Coscoy PS: Je tiens à l'homonymie de type. 95% de mes types s'appellent t. ----- Fichier f1.mli module type A = sig type t val f : t end module type B = sig type t val f : t end ----- ----- Fichier f2.mli type t module A : F1.A with type t = t module B : F1.B with type t = t ----- ----- Fichier f3.ml F2.A.f = F2.B.f ----- ----- Fichier Makefile test: ocamlc -c f1.mli ocamlc -c f2.mli ocamlc -c f3.ml ----- --------------------------------------------------------------------- Yann Coscoy Informatique CDC - Direction des Techniques Avancées 4, rue Berthollet 94110 Arcueil Tél. : 01 40 49 15 28 Fax. : 01 40 49 15 78 e-mail : Yann.Coscoy@icdc.caissedesdepots.fr | |||||||
| Tags | No tags attached. | |||||||
| Attached Files | ||||||||
Notes |
|
|
(0000381) administrator (administrator) 2000-05-16 10:44 |
> J'obtient une erreur Stack overflow au moment de la compilation du fichier > f3.ml. A vue de nez, le probl=E8me semble venir d'une mauvaise gestion des > contextes des expressions << with type t >> dans les fichiers .mli. La > compilation se passe sans probl=E8mes des que je renomme le type F2.t > ou que j'inline le fichier f1.mli dans f2.mli. En effet, c'est un bug dans une operation de substitution sur les types de modules, qui conduit dans certain cas a la creation d'abreviations de types cycliques type t = t, qui font boucler le typage. Le bug est corrige dans la version de travail d'OCaml. Merci d'avoir signale le probleme. - Xavier Leroy |
|
(0000382) administrator (administrator) 2000-05-16 10:45 |
Fixed on 2000-05-16 by Xavier. Same bug as PR#112. |
Issue History |
|||
| Date Modified | Username | Field | Change |
| 2005-11-18 10:13 | administrator | New Issue | |
| Copyright © 2000 - 2011 MantisBT Group |