由于长生不老药中的默认参数导致透析器抱怨的功能arity
Function arity as a result of default parameters in elixir making dialyzer complain
我有一个带有 2 个默认参数的函数
defp foo(bar, baz, qux \ "", garply \ nil)
我有两种用法,一种只提供前两个参数,另一种全部提供 4 个。Dialyzer 抱怨 Function foo/3 will never be called
。我认为这是因为它是私有的,并且两个默认值允许 unroll_nodes/2
、unroll_nodes/3
和 unroll_nodes/4
。我表面上可以放弃默认值并在当前 foo/2
调用中提供它们,但仅仅安抚透析器似乎很愚蠢。有没有办法在规范中指定它?
您可以使用 @dialyzer
属性抑制透析器警告:
@dialyzer {:no_unused, [foo: 3]}
列出了所有可能的选项 here。
我有一个带有 2 个默认参数的函数
defp foo(bar, baz, qux \ "", garply \ nil)
我有两种用法,一种只提供前两个参数,另一种全部提供 4 个。Dialyzer 抱怨 Function foo/3 will never be called
。我认为这是因为它是私有的,并且两个默认值允许 unroll_nodes/2
、unroll_nodes/3
和 unroll_nodes/4
。我表面上可以放弃默认值并在当前 foo/2
调用中提供它们,但仅仅安抚透析器似乎很愚蠢。有没有办法在规范中指定它?
您可以使用 @dialyzer
属性抑制透析器警告:
@dialyzer {:no_unused, [foo: 3]}
列出了所有可能的选项 here。