Hi there! 👋
We use argon2_elixir to provide password hashing in ash_authentication. It used to work fine without comeoninas a dependency, but now won't compile because it cannot infer types:
==> argon2_elixir
mkdir -p /Users/jmshrtn/Dev/github.com/REDACTED_CLIENT/redacted_app/_build/dev/lib/argon2_elixir/priv
cc -g -O3 -pthread -Wall -I"/Users/jmshrtn/.asdf/installs/erlang/29.0.2/erts-17.0.2/include" -Iargon2/include -Iargon2/src -Ic_src -dynamiclib -undefined dynamic_lookup argon2/src/argon2.c argon2/src/core.c argon2/src/blake2/blake2b.c argon2/src/thread.c argon2/src/encoding.c argon2/src/ref.c c_src/argon2_nif.c -o /Users/jmshrtn/Dev/github.com/REDACTED_CLIENT/redacted_app/_build/dev/lib/argon2_elixir/priv/argon2_nif.so
Compiling 3 files (.ex)
warning: cannot infer signatures from :comeonin because it is not loaded
error: module Comeonin is not loaded and could not be found
│
43 │ use Comeonin
│ ^^^^^^^^^^^^
│
└─ lib/argon2.ex:43: Argon2 (module)
== Compilation error in file lib/argon2.ex ==
** (CompileError) lib/argon2.ex: cannot compile module Argon2 (errors have been logged)
(elixir 1.20.1) expanding macro: Kernel.use/1
lib/argon2.ex:43: Argon2 (module)
could not compile dependency :argon2_elixir, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile argon2_elixir --force", update it with "mix deps.update argon2_elixir" or clean it with "mix deps.clean argon2_elixir"
It looks like Comeonin.__using__/2 is not adding a whole lot of value - would you be open to a PR which guards the use statement with a Code.loaded?(Comeonin)?
Hi there! 👋
We use
argon2_elixirto provide password hashing inash_authentication. It used to work fine withoutcomeoninas a dependency, but now won't compile because it cannot infer types:It looks like
Comeonin.__using__/2is not adding a whole lot of value - would you be open to a PR which guards theusestatement with aCode.loaded?(Comeonin)?