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
Functor drop private type information #4933
Comments
Comment author: @garrigue Actually this is not directly related to 4816 (but I leave the relation anyway, as a reminder) The problem is just that both for private rows and private abbreviations, strengthening is not monotonous. To avoid this problem you just have to pass a proper module as argument to your functor: I still wonder whether it would not be possible to extract the private type information from the |
Comment author: @garrigue Actually, this works with private rows, but the type printed was wrong in that case. It should also be possible to support the private abbreviation case, by using try_expand_once_opt, |
Comment author: @garrigue Finally fixed this for private abbreviations too, in revision 10532. The idea is not to strengthen types when the path is not a valid one. |
Original bug ID: 4933
Reporter: till
Assigned to: @garrigue
Status: closed (set by @garrigue on 2010-06-07T08:28:11Z)
Resolution: not a bug
Priority: normal
Severity: minor
Version: 3.11.0
Fixed in version: 3.12.0+dev
Category: ~DO NOT USE (was: OCaml general)
Related to: #4816
Bug description
module type Priv = sig
type t = private int
end
module Make (Unit:sig end): Priv = struct type t = int end
module A : Priv = Make (struct end)
Additional information
This seems linked to: 4816
The text was updated successfully, but these errors were encountered: