I think Elixir version doesn’t make a difference, to reproduce just use erlang 24.0 (without any patches) or erlang 24.0.2 and there will be no warnings shown. Dialyzer returns
{:warn_return_no_exit, {'lib/my_app.ex', 0}, {:no_return, [:only_normal, :hello, 0]}}
so this is probably related to Fix lost line numbers in Dialyzer warnings for Elixir code by michallepicki · Pull Request #4890 · erlang/otp · GitHub. With 24.0.3 I also see only one warning.






















