Actually, the code that generates the warning is from AshGraphql, I just didn’t add that before because I thought it was unnecessary. But either way that code is run at compile time for the resource I’m creating, so I think it should count as “my code” and not as “dependency code”.
I also tried adding some other warnings to see if it would stop the compiler but they didn’t, basically I tried this:
defmodule Bla do
IO.warn("HUEHUE")
a = 5
end
which generated the following warnings:
core [fly_fixes]× » mix compile --warning-as-errors ~/p/r/p/core
Compiling 1 file (.ex)
warning: variable "a" is unused (if the variable is not meant to be used, prefix it with an underscore)
│
3 │ a = 5
│ ~
│
└─ lib/core/application.ex:3:3: Bla (module)
warning: HUEHUE
lib/core/application.ex:2: (module)
(elixir 1.19.1) elixir_compiler.erl:81: :elixir_compiler.dispatch/4
(elixir 1.19.1) elixir_compiler.erl:56: :elixir_compiler.compile/4
(elixir 1.19.1) elixir_module.erl:477: :elixir_module.eval_form/7
(elixir 1.19.1) elixir_module.erl:163: :elixir_module.compile/7
(stdlib 7.1) lists.erl:2466: :lists.foldl/3
Generated core app
core [fly_fixes]× » echo $status ~/p/r/p/core
0
As you can see, the warnings show up during compilation, but the compilation itself finished without any errors.
Oh so it does, never mind then! Usually when functions of different arity share behavior it’s mentioned in the docs (e.g. this one in the same module) so that threw me off.
Yeah.. I don’t get this, I tried a lot of different warnings and projects, I also tried with Elixir 1.18 and I still can’t make --warnings-as-errors work at all.
I’m just not sure if this is actually a bug or just something else that I’m missing because I’m confident that if it was really not working for everyone, then this would be already reported tbh.
Does this option works for you guys? If so, do you mind giving me a code snippet that generates a warning that should be triggered as an error when using this option for me to try it?