我开始在基于Phoenix 1.4的雨伞项目中使用Dialyzer (dialyxir 1.0.0-rc.6)。 当我第一次在上面运行mix dialyzer的时候,我得到了这样的警告。apps/my_app/lib/my_app_web/gettext.ex:1:pattern_match_cov%{}
can never match since previousclauses completely cover the
静态分析器透析器(我通过使用它)将Logger (Logger.info "blah")的所有使用情况报告为无与伦比的返回:
Expression produces a value of type 'ok我还可以使用-Wno_unmatched_returns配置透析器,以忽略所有这些警告。然而,我发现它们信息丰富,不想忽视它们。说,我们可以在每个模块的基础上使用<em
在Elixir中,我如何记录一个函数将返回一个实现特定行为的模块?举个简单的例子,假设我创建了一个由两个模块实现的GreeterBehaviour行为: @callback say_hello(String.twith dialyzer FormalGreeter # Can easily be swapped to CasualGreeterend
透析器</
我使用lager进行日志记录;它有一个解析器转换,将lager:warn/1等函数转换为lager:trace...函数。透析器不处理解析器转换,因此它使用Call to missing or unexported function lager:warn/1进行警告。
我如何告诉它这个函数确实存在,而不是警告它呢?