問題タブ [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 投票する
3 に答える
1826 参照

erlang - 静的分析と静的型付け

私は Elixir を学んでいます。ツール 'dialyzer' を使用すると、静的分析を行うことができます。関数定義に、関数が期待するパラメーターの型指定と関数が返す出力の注釈を付けます。これは完全にオプションですが、可能な限り最大限に使用する場合、古き良き静的型付けとどのように一致するのでしょうか?

0 投票する
1 に答える
317 参照

erlang - Erlang: NIF とダイアライザーの警告

NIF を実装するとき、Dialyzer は私に

関数 crc16/1 にはローカル リターンがありません

おそらく、.erlモジュールで終了するためです(公式ドキュメントが推奨するように):

そして一般的に、exit/1常に使用するとDialyzerがこのメッセージに文句を言うようになります(-spec .. -> no_return()助けにはなりません)。

これはどのように修正できますか?

0 投票する
2 に答える
184 参照

jenkins - make と grep で既存のダイアライザー エラーを無視する

jenkins に erlang コードでダイアライザーを実行させようとしていますが、問題が発生しています。これを既存のプロジェクトに導入しているため、フラグを付けたくない既存のエラーがいくつかあります。これは、dialyzer-ignore-warningsファイルにあります。

私のメイクファイルにはこれがありますが、本当にやりたいことは、grep が空のドキュメントを返す場合は 0 を返し、新しいエラーがある場合は値を返すことです。しかし、私のスクリプトフーはそれまでではありません

0 投票する
1 に答える
374 参照

erlang - 指定された型の関数のダイアライザーの型エラー

次の関数を分析すると、ダイアライザーでエラーが発生します。

エラーは次のとおりです。

restc:request次の型仕様があります。

呼び出しで使用される型は次のとおりです。

any()渡される変数の型を指定しているのに、ダイアライザーが、呼び出しが変数に型を渡していると言うのはなぜですか? 型指定が一貫していること (および他のモジュールと一貫していること) を確認するために、コール チェーンを調べました。

0 投票する
1 に答える
356 参照

elixir - Dialyzer は無名関数を分析しますか?

Elixir を学習する過程で、関数に型を付けるために Dialyzer をいじっています。この点に関して、Dialyzer が無名関数の型をチェックしていないように見えることに気付きました。

以下の例では、2 つの数値を加算して数値を返す無名関数を関数に渡して(t::number -> number)all?ます。all?したがって、仕様で約束されているようにブール値を返しません(t::any -> boolean)

Dialyzer は、このコードに対してエラーや警告を報告していないようです。Dialyzer がこの種の間違いをチェックできないか、または私が何か間違ったことをしている場合、私は興味があります。