-
Notifications
You must be signed in to change notification settings - Fork 1.2k
printtyp: incorrect name disambiguation #8917
Copy link
Copy link
Closed
Description
OCaml version 4.08.0
# module B = struct type t end;;
module B : sig type t end
# module type S = sig module rec A : sig type t = B.t end and B : sig type t end end;;
module type S =
sig module rec A : sig type t = B/2.t end and B : sig type t end end
When reading this, I expect B/2 to be the module not part of the recursive group (otherwise why would it disambiguate?).
However, that is not the case:
# module F (X : S) = struct let f (x : X.A.t) : X.B.t = x end;;
module F : functor (X : S) -> sig val f : X.A.t -> X.B.t end
cc @Octachron
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels