-
Notifications
You must be signed in to change notification settings - Fork 233
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
Incorrect tracking of identifier through inlcude module type #1848
Comments
Thanks for the very thorough report ! I will have a look. |
This is a case of "the uid doesn't indicate if it comes from the implementation or the interface" and we should be able to provide a robust fix soon thanks to ocaml/ocaml#13286 |
Given how locate works right now, I would expect the correct result of locating We might, however, be more clever at some point by looking at the new information linking declaration together in 5.3 ocaml/ocaml#13308 |
Here is a cram test of the issue:
Locating the
Bar
originating from aninclude module type of Foo
goes to the wrong location. Looking at the logs for the failing case, we see:Foo.1
is correct in the sense thatBar
isFoo.1
according tofoo.mli
, butFoo.1
infoo.ml
is the constructorFoo
, which is what Merlin incorrectly returns.Compare this to the logs in the successful cases:
The text was updated successfully, but these errors were encountered: