I’m trying to set up my Phoenix project with Dialyzer. The inbuilt Elixir Language Server in VS Code has been working fine, but I now want to run some checks in CI, and slowly add some types to a few key places in the application.
When I run
mix dialyzer, I’m getting a series of “unknown type” warnings on my Ecto Schema structs.
:0:unknown_type Unknown type: App.Comments.Comment.t/0.
It looks to me like Ecto has failed to generate the
.t() type. Could this be because I’m using Ecto.ULID, a custom type, for my primary keys? My cursory attempt to add typespecs to that library, following the example in
Ecto.UUID, didn’t seem to work so I’m not quite sure where to look next.