merlin icon indicating copy to clipboard operation
merlin copied to clipboard

`Locate` within recursive module jumps to declaration instead of definition.

Open panglesd opened this issue 3 years ago • 0 comments

In the following code:

module rec A : sig
  type t = B.t
end = struct
  type t = B.t
end

and B : sig
  type t = int
end = struct
  type t = int
end

type u = B.t

When asking to locate B.t from inside the recursive definition (the fourth line, type t = B.t), merlin locates the declaration (line 7, inside the sig), while it should be on the implementation (line 9, inside the struct).

From outside the recursive definition, it works: locating B.t from the last line (type u = B.t) leads to line 9 (inside struct).

panglesd avatar Feb 09 '23 17:02 panglesd