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
module abbreviations remove 'private' type restrictions #4816
Comments
Comment author: @garrigue Fixed in CVS for 3.11.1. |
Comment author: @jberdine I am still seeing different behavior with 3.11.1 regarding the typing of
With 3.10.2 this type-checks, but with 3.11.1, M1 type-checks but M2 and M3 Error: Signature mismatch: Note that M1, M2, and M3 have identical meanings. |
Comment author: @garrigue Actually the second bug your report has a different cause. This is fixed in CVS, branch 3.11, but too late for 3.11.1. |
Comment author: @garrigue Question to the original reporter: It seems that ocaml-3.11.1 shipped with a partial fix, sound (i.e. private types are really private), but not complete (some correct re-exportations are refused by the compiler). So some correct software that compiled with 3.11.0 will not compile with 3.11.1. How bad is it for you? Do you know of any published software where such a problem occurs? |
Original bug ID: 4816
Reporter: @jberdine
Assigned to: @garrigue
Status: closed (set by @xavierleroy on 2011-05-29T10:14:10Z)
Resolution: fixed
Priority: normal
Severity: minor
Version: 3.11.0
Fixed in version: 3.11.1+dev
Category: ~DO NOT USE (was: OCaml general)
Related to: #4933
Monitored by: furuse @jberdine letaris
Bug description
Consider the following code:
With 3.10.2, the let binding for y fails to type-check:
With 3.11.1+rc1, however, it type-checks:
David Allsopp reports the same behavior on 3.11.0.
The text was updated successfully, but these errors were encountered: