Dialyzer обвиняет код, пытающийся сопоставить переменную модуля:
defmodule Main do
# -> :demo
@env Application.get_env(:myproject, :env)
def run do
case @env do
:production -> 1
_ -> 2
end
end
end
lib/myproject/main.ex:6:pattern_match
The pattern can never match the type.
Pattern:
:production
Type:
:demo
Как я могу избежать предупреждения, или я должен каждый раз писать так, как показано ниже?
def run do
env = Application.get_env(:myproject, :env)
case env do
...
end
end