Closed jisaacstone closed 3 years ago
Any work here would have to be in dialyzer.erl
in OTP itself. We forward what information we get faithfully, but dialyzer itself drops this at the door before it even gets to dialyxir.
FWIW, I would be ecstatic with such an improvement upstream; this is one of the more annoying things to track down, particularly when retrofitting dialyzer onto an existing project.
Environment
Elixir & Erlang/OTP versions (elixir --version):
Erlang/OTP 23 [erts-11.0.3] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [hipe] [dtrace] Elixir 1.10.4 (compiled with Erlang/OTP 23)
Which version of Dialyxir are you using? (cat mix.lock | grep dialyxir):
"dialyxir": {:hex, :dialyxir, "1.0.0", "6a1fa629f7881a9f5aaf3a78f094b2a51a0357c843871b8bc98824e7342d00a5", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "aeb06588145fac14ca08d8061a142d52753dbc2cf7f0d00fc1013f53f8654654"},
Current behavior
If I have a type in a
@spec
, but for get to alias, import, require, etc the module, the error message returned has no way to determine the file or line the error occurred on. This is a problem for example right now I got done with a refactor that touched ~30 files and I missed an alias somewhere, but I have no idea where.Expected behavior
to reproduce
mix.exs
lib/text.ex