diff options
author | Erlang/OTP <otp@erlang.org> | 2023-02-14 14:02:51 +0100 |
---|---|---|
committer | Erlang/OTP <otp@erlang.org> | 2023-02-14 14:02:51 +0100 |
commit | 587341d994f91af5b30483ee9434e932e3d7b802 (patch) | |
tree | e9e87bb3c2392ab395c7c7976d715cd594851027 /lib/dialyzer | |
parent | 8da90c85f1ff756ddd62973381038c072b9213e3 (diff) | |
download | erlang-587341d994f91af5b30483ee9434e932e3d7b802.tar.gz |
Prepare release
Diffstat (limited to 'lib/dialyzer')
-rw-r--r-- | lib/dialyzer/doc/src/notes.xml | 111 | ||||
-rw-r--r-- | lib/dialyzer/vsn.mk | 2 |
2 files changed, 112 insertions, 1 deletions
diff --git a/lib/dialyzer/doc/src/notes.xml b/lib/dialyzer/doc/src/notes.xml index 50c5d28c2e..18a07891e3 100644 --- a/lib/dialyzer/doc/src/notes.xml +++ b/lib/dialyzer/doc/src/notes.xml @@ -32,6 +32,117 @@ <p>This document describes the changes made to the Dialyzer application.</p> +<section><title>Dialyzer 5.1</title> + + <section><title>Fixed Bugs and Malfunctions</title> + <list> + <item> + <p>When checking behaviors, Dialyzer could generate false + warning that a callback function did not have the correct + type according to the spec in the behavior + definition.</p> + <p> + Own Id: OTP-18237 Aux Id: GH-6221, PR-6243 </p> + </item> + <item> + <p>In a spec, <c>list(none())</c> used to mean + <c>none()</c>. It has now been corrected to mean the + empty list.</p> + <p> + Own Id: OTP-18276 Aux Id: GH-6333 </p> + </item> + </list> + </section> + + + <section><title>Improvements and New Features</title> + <list> + <item> + <p>Dialyzer has a new incremental mode that be invoked by + giving the <c>--incremental</c> option when running + Dialyzer. This new incremental mode is likely to become + the default in a future release.</p> + <p>Incremental mode primarily differs from the previous, + "classic", ways of running Dialyzer, in that its model is + optimised around the common use case of regularly + analysing a single codebase, tweaking the code, analysing + it again, and so on, without explicit reference to the + building and checking of a PLT.</p> + <p>In this mode the PLT file acts much more like a true + cache, where users provide a codebase and a set of files + they care about, and Dialyzer does the legwork in terms + of deciding how to most efficiently report all of the + relevant warnings given the cached results it may already + have in the PLT (and if a PLT doesn't exist, incremental + mode will create one).</p> + <p> + Own Id: OTP-18188 Aux Id: PR-5997 </p> + </item> + <item> + <p>Dialyzer now produces clearer error messages for + contract violations.</p> + <p> + Own Id: OTP-18238 Aux Id: PR-6271 </p> + </item> + <item> + <p>The name of a built-in type can now be reused as the + name of type locally. That is useful when an OTP release + introduces a new built-in type; having the possibility to + redefine built-in types locally can make it easier to + maintain code that works in multiple OTP releases.</p> + <p> + Own Id: OTP-18282 Aux Id: GH-6132, PR-6335 </p> + </item> + <item> + <p>Dialyzer's overloaded domain warning becomes is + disabled by default, and can be enabled with the flag + <c>-Woverlapping_contract</c>.</p> + <p>Dialyzer used to issue a warning for overloaded + domains stating <c>"such contracts are currently + unsupported and are simply ignored"</c>. </p> + <p>These contracts are not "ignored" but rather, Dialyzer + takes the union of the overloaded domains. This means + that we lose the dependency from each corresponding input + to output type. Because of this, the warning is really + about not being able to establish a dependency between + the input and output types of each respective overloaded + function specification.</p> + <p> + Own Id: OTP-18342 Aux Id: GH-6117, PR-6654 </p> + </item> + <item> + <p> + Dialyzer has enabled (by default) warnings about unknown + types and functions.</p> + <p> + Prior to this change, Dialyzer had warnings about unknown + types and functions disabled (by default).</p> + <p> + This default value has been overwritten; Dialyzer now + warns about unknown types and functions (as requested by + the community in GH-5695). Thus, the following two + examples are equivalent, i.e., passing the + <c>-Wunknown</c> function is enabled by default:</p> + <p> + <c>dialyzer moduler.erl -Wunknown -Wmissing_return</c></p> + <p> + <c>dialyzer moduler.erl -Wmissing_return</c></p> + <p> + Dialyzer has a new flag, <c>-Wno_unknown</c>. Its purpose + is to suppress warnings about unknown functions and + types.</p> + <p> + Users who wish to suppress these warnings can invoke + Dialyzer using this flag. Example: <c>dialyzer module.erl + -Wno_unknown</c></p> + <p> + Own Id: OTP-18439 Aux Id: GH-5695,PR-6822 </p> + </item> + </list> + </section> + +</section> + <section><title>Dialyzer 5.0.4</title> <section><title>Fixed Bugs and Malfunctions</title> diff --git a/lib/dialyzer/vsn.mk b/lib/dialyzer/vsn.mk index dc8f066894..a4dcbc90c3 100644 --- a/lib/dialyzer/vsn.mk +++ b/lib/dialyzer/vsn.mk @@ -1 +1 @@ -DIALYZER_VSN = 5.0.4 +DIALYZER_VSN = 5.1 |