-
-
Notifications
You must be signed in to change notification settings - Fork 142
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ignore_warnings file not ignoring warnings after upgrade to OTP 24 #448
Comments
I forked the project since I too have this issue when using and this is the specific log of the job for Elixir 1.13 / OTP 22.3
I am going to therefore investigate from the release of 1.13 and the command |
From what I have found so far using a fork from this repo and no other changes, just using
So the question is, in point 1 above, why in the case of this project (dog-fooding itself!) does the warning not appear until Elixir 1.13.x? The dialyzer: [
plt_apps: [:dialyzer, :elixir, :kernel, :mix, :stdlib, :erlex],
ignore_warnings: ".dialyzer_ignore.exs",
flags: [:unmatched_returns, :error_handling, :underspecs]
] which I thought would produce the warning from specifying the
Let's look more closely then at this case of Mix.Tasks.Deps.Loadpaths.run([]) When we use Elixir 1.13.x, this produces a list of paths to dependencies such as ["/Volumes/Development/projects/dialyxir/_build/dev/lib/earmark_parser/ebin",
"/Volumes/Development/projects/dialyxir/_build/dev/lib/erlex/ebin",
"/Volumes/Development/projects/dialyxir/_build/dev/lib/nimble_parsec/ebin",
"/Volumes/Development/projects/dialyxir/_build/dev/lib/makeup/ebin",
"/Volumes/Development/projects/dialyxir/_build/dev/lib/makeup_elixir/ebin",
"/Volumes/Development/projects/dialyxir/_build/dev/lib/ex_doc/ebin"] BUT when using Elixir 1.12.3 (for example), it produces simply So for the dog-food example of I hope this helps! |
Any progress on this one? For me my dialyzer is acting up with ExUnit when running in |
Does this change fix it for you? #444 (comment) If so, I have a fork with the change implemented here: connorjacobsen@499b54b |
This doesn't seem to be an issue for me using:
We have Dialyxir running in CI using an ignore file and everything works as expected. 🤔 |
@Nezteb It looks like it may be an issue with ignore files using |
Precheck
Take a look at the open issues and be sure that your issue is not already covered:
Related, but not same: Ignore Erlang module or silence errors #435
Be sure your versions of Dialyxir and Erlex are up to date.
Environment
Current behavior
TLDR: Warnings are emitted even after placing filters in the ignore file.
While working in another big project, we silenced an Dialyzer warning (due to the use of money ecto type) through the use of the ignore_warnings file.
After updating to OTP 24, the warnings showed up again when running
mix dialyzer
, this is preventing us from updating to OTP 24, since it's failing at our CI.This repo attempts to provide a reproducible example of the warning through a wrong spec, although it's not the only warning we're getting (and in a different scenario).
Dialyzer output:
ignore file (we use line 19 for this example, but the actual error is on line 0):
mix file:
Expected behavior
It should ignore the warnings specified in the ignore file.
The text was updated successfully, but these errors were encountered: