Code.Typespec.fetch_specs(module) errors out when used inside a __after_verify__
. But it works well in a LiveBook or even inn IEx session. Here is the full code. Any pointers?
defmodule Aa do
defmacro __using__(_) do
quote do
@after_verify Aa
end
end
def __after_verify__(module) do
result = Code.Typespec.fetch_specs(module)
IO.inspect(result, label: "fetch_specs result")
end
end
defmodule TestFunc do
use Aa
end
$ iex -S mix phx.server
Erlang/OTP 25 [erts-13.1.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [jit]
Compiling 2 files (.ex)
fetch_specs result: :error
[info] Running HbotWeb.Endpoint with cowboy 2.10.0 at 127.0.0.1:4000 (http)
iex(2)> Code.Typespec.fetch_specs(TestFunc)
{:ok,
[...]