Which version of Dialyxir are you using? (cat mix.lock | grep dialyxir):
"dialyxir": {:hex, :dialyxir, "1.2.0", "58344b3e87c2e7095304c81a9ae65cb68b613e28340690dfe1a5597fd08dec37", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "61072136427a851674cab81762be4dbeae7679f85b1272b6d25c3a839aff8463"}
Current behavior
Please file a bug in https://github.com/jeremyjh/dialyxir/issues with this message.
Failed to format warning:
"@spec a(String.t(), %{:method_id => String.t(), :args => nil}, atom(), true | false, ['api?'()]) :: [%{}]\ndef a() do\n :ok\nend\n"
Legacy warning:
lib/explorer/smart_contract/reader.ex:370: The call 'Elixir.Explorer.SmartContract.Reader':query_function(_contract_address_hash@1::any(),#{'args':=_, 'method_id':=_},_type@1::any(),_from@1::any(),'true') will never return since the success typing is (#{'__struct__':='Elixir.Explorer.Chain.Hash', 'byte_count':=20, 'bytes':=<<_:160>>},#{'args':='nil' | [any()], 'method_id':=binary(), _=>_},atom(),boolean(),[{'api?',boolean()}]) -> [#{}] and the contract is ('Elixir.String':t(),#{'method_id':='Elixir.String':t(),'args':='nil'},atom(),'true' | 'false',['api?'()]) -> [#{}]
; ('Elixir.Explorer.Chain.Hash':t(),#{'method_id':='Elixir.String':t(),'args':=[term()]},atom(),'true' | 'false',['api?'()]) -> [#{}]
Precheck
Environment
Elixir & Erlang/OTP versions (elixir --version):
Which version of Dialyxir are you using? (cat mix.lock | grep dialyxir):
"dialyxir": {:hex, :dialyxir, "1.2.0", "58344b3e87c2e7095304c81a9ae65cb68b613e28340690dfe1a5597fd08dec37", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "61072136427a851674cab81762be4dbeae7679f85b1272b6d25c3a839aff8463"}
Current behavior