Dialyzer not working with IEx.Helpers

Background

We have a project and we are trying to use dialyzer in it. In this project we have some code that looks like the following:

deps: %{
    rec: &Elixir.IEx.Helpers.recompile/0
}

Problem

We know this function exists because it is an officially documented function that we can run. The issue is that dialyzer doesn’t recognize this function and errors out:

0: Unknown function ‘Elixir.IEx.Helpers’:recompile/0

Question

Why can’t dialyzer recognize this function?

This doesn’t look like valid elixir, therefore I assume the line is actually this:

deps: [rec: &IEx.Helpers.recompile/0]

Thats part of the :iex application. You need to put it into your :extra_applications such that your system is aware of it.

2 Likes