问题标签 [dialyzer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
194 浏览

erlang - Erlang:为什么 Dialyzer 没有注意到这个错误?

现在,我尝试使用 Dialyzer 并使用-spec-type

我将以下代码提供给 Dialyzer,我希望 Dialyzer 注意到“hoge(a) + 1 无效”,但 Dialyzer 没有注意到。

但是,在另一种情况下,

透析器告诉我这个错误,

为什么 Dialyzer 在第一个设置中无法注意到类型错误。

这份合同(规范)的意思不是“hoge 的类型是 'a' -> 'bad' | number() -> number()”,而是“'a' | number() -> 'bad' | number()”?


这是第一个示例的完整模块。

0 投票
2 回答
3853 浏览

elixir - 如何避免 Dialyzer 在具有 match all `else` 的 `with` 语句中出现“永远无法匹配”错误?

0 投票
1 回答
335 浏览

elixir - 固定字节长度位串的 Elixir typespec - 透析器不高兴

我正在尝试创建一个表示固定长度框架二进制数据包的类型规范。因此,使用固定 N字节的位串(例如 25 个字节)似乎是正确的想法。

Elixir typespec 文档说明了以下内容:

由此我假设您可以使用@spec my_type :: <_::25, _::_*8>>

但是 Dialyzer 会返回以下内容:

嗯?但它们都是位串,位长是一样的!

有人知道为什么 Dialyzer 不喜欢这个吗?

0 投票
1 回答
443 浏览

erlang - 透析器错误调用丢失或未导出的函数 gen_server:call/4

我正在使用透析器来修复 erlang 代码中的警告,我遇到了这个错误,它读取了 missing or unexported function gen_server:call/4

我无法理解这个罐子有什么问题,请任何人指导我,我刚开始使用 Erlang 的错误是什么,如果你能简要解释一下,我将不胜感激

0 投票
1 回答
133 浏览

erlang - erlang 中的透析器警告、记录构建和不正确的列表

我正在尝试修复从透析器中找到的 erlang 代码中的警告。我遇到了一些错误,例如记录构建和不正确的列表是导致这些错误的原因。谁能解释一下。

谢谢你!

0 投票
1 回答
286 浏览

erlang - 我如何解决来自 Dialyzer 的“由于成功输入是 [...] 而合同是..”,因此永远不会返回?

我正在使用 Dialyzer 修复 Erlang 代码中的错误。

此行产生以下错误:

我无法理解问题是什么,谁能解释一下?

谢谢

0 投票
1 回答
2462 浏览

elixir - 如何修复新 Mix.Tasks 的 Dialyzer“关于 '.....' 行为的回调信息不可用”错误

Mix.Task我在 /lib/mix/tasks/start.ex 中为我的项目创建了新的

现在,它可以像这样从控制台运行:
mix start

但我收到透析器错误,即Callback info about the 'Elixir.Mix.Task' behaviour is not available. 这是什么意思以及如何解决这个问题?

0 投票
1 回答
89 浏览

elixir - 在 Elixir 规范定义中使用保护子句时看到“规范有错误的数量”

这是我尝试添加规范的代码。

第一个规范定义工作正常。但是我想更清楚一点,如果原因是一个整数,那么返回的错误也将包含一个整数。第二个规范不起作用。错误是

0 投票
1 回答
423 浏览

elixir - 忽略生成代码的透析器警告

我正在尝试使我的库(https://github.com/CrowdHailer/OK)用于处理结果元组与透析器很好地配合。

如果给出不正确的数据输入,此时有代码会引发一个很好的错误。然而,dialyzer 指出,这种情况是不需要的。我仍然想保留这个错误案例。向图书馆的新用户解释错误非常有帮助,但我想让透析器忽略它。

来源可以在这里看到https://github.com/CrowdHailer/OK/blob/431142204794e1702271c86d6594ce76b8978b57/lib/ok.ex#L512-L529

0 投票
0 回答
87 浏览

erlang - 我可以直接使用 Dialyzer GUI 或 dialyzer 命令行工具而不使用 dilyxir 来获取长生不老药代码吗?

我有一个 elixir 项目,当我在该项目上运行mix dialyzer(调用 dilyxir)时,我得到一个非常小的错误片段,并且很难追踪它的来源。在dialyzer 上有一些额外的格式选项可用,而dialyxir 似乎没有这些选项(如--format raw)。我如何直接为 elixir 项目调用透析器?