Skip to content

printtyp: incorrect name disambiguation #8917

@trefis

Description

@trefis
        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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions