【问题标题】:Erlang dialyzer The created fun has no local returnErlang 透析器 创造的乐趣没有本地回报
【发布时间】:2016-06-28 21:52:53
【问题描述】:

我为我的项目运行透析器。我得到了:

test.erl:97: The created fun has no local return

在 97 行我有:

    List = lists:filter(fun(X) ->
                               {_, _, SomeBoolFlag} = X,
                               SomeBoolFlag == false
                        end,
                TestList)

怎么了?

谢谢。

【问题讨论】:

  • 仅使用提供的代码我无法重现此警告。请提供更多背景信息。

标签: erlang static-analysis


【解决方案1】:

似乎dialyzer 发现TestList 可以包含{_, _, SomeBoolFlag} 元组以外的其他内容。

你也可以稍微简化一下这段代码:

List = lists:filter(fun({_, _, Flag}) -> not Flag end, TestList)

或:

List = [Item || Item={_, _, false} <- TestList]

【讨论】:

    猜你喜欢
    • 2018-09-10
    • 1970-01-01
    • 1970-01-01
    • 2016-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多