小编Sin*_*inc的帖子

Elixir - 为什么没有针对这些重复标头的编译器警告?

今天在浏览一些代码时,我遇到了以下两个函数头,并意识到,据我所知,它们应该是重复的。相同数量的参数并且没有匹配或保护让我们绕过第一个。但是编译器没有警告我第二个永远不会匹配。任何解释为什么会这样?

  def update_display_cache(context, text, line_no, position, text, adjusted_text, _) do
  def update_display_cache(context, display_line, line_no, position, text, adjusted_text, _) do
Run Code Online (Sandbox Code Playgroud)

我用匹配的参数列表制作了几个简单的函数,包括一个带有尾随 _ 参数的函数,它们都给出了预期的警告。
warning: this clause cannot match because a previous clause at line 24 always matches

我还没有更改地复制并粘贴了整个第一个函数标题和正文,但仍然没有收到警告。

长生不老药 1.7.4

elixir compiler-warnings

2
推荐指数
1
解决办法
59
查看次数

标签 统计

compiler-warnings ×1

elixir ×1