Anonymous | Login | Signup for a new account | 2019-02-20 02:37 CET | ![]() |
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 | |||
0004534 | OCaml | ~DO NOT USE (was: OCaml general) | public | 2008-04-12 22:43 | 2010-04-30 07:18 | |||
Reporter | turpin | |||||||
Assigned To | ||||||||
Priority | normal | Severity | feature | Reproducibility | always | |||
Status | closed | Resolution | fixed | |||||
Platform | OS | OS Version | ||||||
Product Version | 3.10.2 | |||||||
Target Version | Fixed in Version | 3.12.0+dev | ||||||
Summary | 0004534: Confusing error message | |||||||
Description | file delme.ml, no .mli: module type T = sig val foo : unit val foo : unit end yields the following error message, which is meaningless and totally different from what we would get with modules: The implementation delme.ml does not match the interface (inferred signature): Module type declarations do not match: module type T = sig val foo : unit val foo : int end does not match module type T = sig val foo : unit val foo : int end Modules do not match: sig val foo : unit val foo : int end is not included in sig val foo : unit val foo : int end Values do not match: val foo : int is not included in val foo : unit If I put the module type inside a module, the message beomes: The implementation delme.ml does not match the interface (inferred signature): Modules do not match: sig module type T = sig val foo : unit val foo : unit end end is not included in sig module type T = sig val foo : unit val foo : unit end end Module type declarations do not match: module type T = sig val foo : unit val foo : unit end does not match module type T = sig val foo : unit val foo : unit end Illegal permutation of structure fields | |||||||
Tags | No tags attached. | |||||||
Attached Files | ||||||||
![]() |
|
(0004568) doligez (administrator) 2008-08-04 17:06 |
Can't reproduce with 3.11+dev14 or 3.10.3+dev2: I get the second error message in both cases. I'm filing this as a feature wish: we should refuse a module type that has duplicate field names, with a specific error message. |
(0005425) garrigue (manager) 2010-04-30 07:18 |
Fixed by release 10263 (only keep the last field with same name in module types). |
![]() |
|||
Date Modified | Username | Field | Change |
2008-04-12 22:43 | turpin | New Issue | |
2008-08-04 17:06 | doligez | Note Added: 0004568 | |
2008-08-04 17:06 | doligez | Severity | minor => feature |
2008-08-04 17:06 | doligez | Status | new => acknowledged |
2010-04-30 07:18 | garrigue | Note Added: 0005425 | |
2010-04-30 07:18 | garrigue | Status | acknowledged => closed |
2010-04-30 07:18 | garrigue | Resolution | open => fixed |
2010-04-30 07:18 | garrigue | Fixed in Version | => 3.12.0+dev |
2017-02-23 16:36 | doligez | Category | OCaml general => -OCaml general |
2017-03-03 17:55 | doligez | Category | -OCaml general => -(deprecated) general |
2017-03-03 18:01 | doligez | Category | -(deprecated) general => ~deprecated (was: OCaml general) |
2017-03-06 17:04 | doligez | Category | ~deprecated (was: OCaml general) => ~DO NOT USE (was: OCaml general) |
Copyright © 2000 - 2011 MantisBT Group |