tielur
Help with Dialyzer Output: Function ExUnit.Assertions.flunk/1 does not exist
I’m getting a few things from my dialyzer output that I’m not sure how I can fix.
:0:unknown_function
Function ExUnit.Assertions.flunk/1 does not exist.
________________________________________________________________________________
:0:unknown_function
Function ExUnit.Callbacks.__merge__/3 does not exist.
________________________________________________________________________________
:0:unknown_function
Function ExUnit.CaseTemplate.__proxy__/2 does not exist.
Most Liked
jeremyjh
You don’t really want to use transitive - thats just there for backwards compatibility. By default your app_tree is included in your deps, and since 1.4 Elixir has started your deps for you so they are all in your app tree. :ex_unit won’t be added though. If you want to dialyze in MIX_ENV=test you need to either add ignores for those lines, or add ex_unit separately using dialyzer: [plt_add_apps: [:ex_unit]]
NobbZ
If Circle runs on linux, it should totally be sufficient to use this line in the script:
MIX_ENV=dev mix dialyzer
Everything else will be run in test, but that line “overrides” the MIX_ENV temporary.
sneako
I think adding ExUnit to plt_add_apps as described here in the readme https://github.com/jeremyjh/dialyxir#plt would get rid of the errors, but it is strange that the exunit functions are there to begin with…
Are you using ExUnit in your application code? Or maybe running with MIX_ENV=test?
kip
Really appreciate all the suggestions. Really. locale_error/1 I’m pretty sure isn’t the issue. It’s just:
@spec locale_error(locale_name() | LanguageTag.t()) :: {Cldr.UnknownLocaleError, String.t()}
def locale_error(%LanguageTag{requested_locale_name: requested_locale_name}) do
locale_error(requested_locale_name)
end
def locale_error(locale_name) do
{Cldr.UnknownLocaleError, "The locale #{inspect(locale_name)} is not known."}
end
And I think thats the end of the rabbit hole. I’m out of ideas. But I’ll try to create a minimal failing case and see what that tells me.








