Closed
Description
Environment
- Elixir & Erlang versions (elixir --version): 1.11, 23.2
- Editor Plugin/LSP Client name: current master
To reproduce
- create Module1 that defines a public type my_type and Module2 uses Module1.my_type e.g. in callback or spec.
- introduce a type error involving Module1.my_type
- fix the error by changing my_type definition in Module1
Result:
Dialyzer diagnostic persists regardless of error being fixed.
Troubleshooting
The diagnostic goes away after forcing recompilation of Module2
Unfortunately this is due to elixir compiler design choices - remote types do not introduce compile-time dependancy (and since 1.12 runtime dependancy, see elixir-lang/elixir#10406)