Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Elixir 透析器关于Gettext模块上模式匹配的警告_Elixir_Phoenix Framework_Dialyzer - Fatal编程技术网

Elixir 透析器关于Gettext模块上模式匹配的警告

Elixir 透析器关于Gettext模块上模式匹配的警告,elixir,phoenix-framework,dialyzer,Elixir,Phoenix Framework,Dialyzer,我开始在基于Phoenix 1.4的伞形项目中使用透析器(dialyxir 1.0.0-rc.6) 当我第一次在上面运行混血透析器时,我得到了这个警告 apps/my_app/lib/my_app_web/gettext.ex:1:pattern_match_cov The pattern %{} can never match since previous clauses completely cover the type %{:count => _, _ => _} 以下是此

我开始在基于Phoenix 1.4的伞形项目中使用透析器(dialyxir 1.0.0-rc.6)

当我第一次在上面运行混血透析器时,我得到了这个警告

apps/my_app/lib/my_app_web/gettext.ex:1:pattern_match_cov
The pattern
%{}

can never match since previous clauses completely cover the type
%{:count => _, _ => _}
以下是此文件的内容(
gettext.ex
):

我没有碰它。如何修复或抑制警告

[更新]

我发现本期于2018年2月20日结束:

我确认新创建的phoenix应用程序不会产生透析器警告。我还确认了另一个(新创建的)凤凰伞项目

[
  {"apps/app1/lib/app1_web/gettext.ex", :pattern_match_cov},
  {"apps/app2/lib/app2_web/gettext.ex", :pattern_match_cov},
  {"apps/app3/lib/app3_web/gettext.ex", :pattern_match_cov}
]
我还没有为我现有的项目找到任何解决方案

[更新2]

我发现了如何重现我的问题

新创建的应用程序不会警告您,但如果它包含实际需要插值的翻译数据,它会警告您

有关更多信息,请参阅我的github问题评论:


作为一种解决方法,在修复错误之前,我在伞形项目的根目录中使用以下内容制作了
.dialyzer\u ignores.exs

[
  {"apps/app1/lib/app1_web/gettext.ex", :pattern_match_cov},
  {"apps/app2/lib/app2_web/gettext.ex", :pattern_match_cov},
  {"apps/app3/lib/app3_web/gettext.ex", :pattern_match_cov}
]

这里,
app1
app2
app3
是伞式项目下的应用程序名称。

我在Gettext中也发现了类似的错误。维修人员提到他们不使用透析器。我认为类似的问题在其他项目中也很常见,这些项目可能是许多项目的共同依赖项。
[
  {"apps/app1/lib/app1_web/gettext.ex", :pattern_match_cov},
  {"apps/app2/lib/app2_web/gettext.ex", :pattern_match_cov},
  {"apps/app3/lib/app3_web/gettext.ex", :pattern_match_cov}
]