3

我有一个带有 2 个默认参数的函数

defp foo(bar, baz, qux \\ "", garply \\ nil)

我有两种用法,一种只提供前两个参数,另一种全部提供 4 个。 Dialyzer 抱怨说Function foo/3 will never be called. 我认为这是因为它是私有的,并且两个默认值允许unroll_nodes/2,unroll_nodes/3unroll_nodes/4. 我可以表面上放弃默认值并在当前foo/2调用中提供它们,但仅仅安抚透析器似乎很愚蠢。有没有办法在规范中指定这个?

4

1 回答 1

2

@dialyzer您可以使用以下属性抑制透析器警告:

@dialyzer {:no_unused, [foo: 3]}

此处列出了所有可能的选项。

于 2017-07-13T16:21:08.787 回答