dialyzer相关内容
我在/lib/Mix/Tasks/start.ex中为我的项目创建了新的Mix.Task defmodule Mix.Tasks.Start do use Mix.Task def run(_), do: IO.puts("Hello, World!") end 现在,它可以像这样从控制台运行: mix start 但我遇到透析器错误,即Callback info abou
..
我有一些无法通过透析器的代码,我不明白为什么.无论我在函数顶部的@spec中放入什么内容,对该函数的调用都会返回令人困惑的透析器错误.这是功能的简化.据我所知,我已经正确指定了该功能. @spec balances(uuid :: String.t(), retries :: non_neg_integer) :: {:ok, list()} | {:inte
..
-module(test). -export([f/0, g/0]). -spec f() -> RESULT when RESULT :: 0..12 . -spec g() -> RESULT when RESULT :: 0..13 . f () -> 100 . g () -> 100 . 仅运行功能f的透析器(和键入器)正在运行. dialyze
..
free_vars_in_dterm({var, V}) -> {var, V};显然不能键入检查,但是,透析器说一切正常. $ dialyzer *erl Checking whether the PLT ~/.dialyzer_plt is up-to-date... yes Proceeding with analysis... done in 0m0.66s done (pa
..
我正在学习erlang,并尝试使用透析器来尽可能获得最大的类型安全性.有一件事我不理解:非终止函数的类型是什么以及如何在规范中表示它.您能说明一下吗? 解决方案 一个永久循环且永不终止的函数的返回类型为no_return(). (该返回类型还用于总是抛出异常的函数,例如自定义错误函数.如果您未指定该返回类型,则Dialyzer会告诉您该函数“没有本地返回".) 《 Erlang参考手
..
Dialyzer 2.9版. Erts 7.3.一次性密码18. 在以下人为设计的erlang代码中: -module(dialBug). -export([test/0]). %-export([f1/1]). % uncomment this line test() -> f1(1). f1(X) when X > 5 -> X*2. 在上述代码上运行透析器
..
我有一个行为X和一个带有参数类型的回调函数: %{a: any} 模块Y实现行为X,而实现模块Y中的回调函数具有参数类型: %{a: any, b: any} Dialyzer不喜欢它并抱怨: (#{'a':=_, 'b':=_, _=>_}) is not a supertype of #{'a':=_} 这意味着透析器尝试确定实现模块Y中的回调参数的类型是否为
..
dialyzer \ 我想在我的erlang应用程序中使用透析器--src -r src \ -pa / home / niahoo / src / popos \ -pa / home / niahoo / src / popos / deps / parse_trans \ - 详细 检查PLT c:/MinGW/msys/1.0/home/niahoo/.dialyzer_
..