31
31
<p>This document describes the changes made to the Dialyzer
34
<section><title>Dialyzer 2.4.2</title>
36
<section><title>Fixed Bugs and Malfunctions</title>
40
Add a --fullpath option to Dialyzer</p>
42
This change adds a --fullpath option to Dialyzer, which
43
makes the warning messages contain the full path of the
44
corresponding file.</p>
46
Original patch submitted by Magnus Henoch (legoscia) on
47
15/9/2010 and cooked to death in the 'pu' branch all this
50
The patch was essentially correct and most of it has been
51
used as is, but there have been some changes to make the
52
code slightly prettier, avoid some code duplication, and
53
add documentation to dialyzer's doc files and to its help
60
Fix warnings about guards containing not</p>
62
The wording of warnings about unsatisfiable guards that
63
used 'not' was incorrect (the 'not' was not mentioned and
64
it appeared as "Guard test is_atom(atom()) can never
65
succeed") (thanks to Stavros Aronis).</p>
71
Version 2.4.2 (in Erlang/OTP R14B02)
72
------------------------------------ - Added --fullpath
73
option to display files with warnings with their full
74
file names (thanks to Magnus Henoch for the original
75
patch). - Better handling of 'and'/'or'/'not' guards that
76
generate warnings (thanks to Stavros Aronis). - Better
77
blame assignment for cases when a function's spec is
78
erroneous (thanks to Stavros Aronis). - More descriptive
79
warnings when a tuple/record pattern contains subterms
80
that violate the declared types of record fields (thanks
81
to Matthias Lang for the test case and for Stavros Aronis
82
for the actual fix).</p>
88
Add spec to dialyzer_cl_parse:get_lib_dir/1</p>
96
<section><title>Improvements and New Features</title>
100
Test suites for Dialyzer</p>
102
This is a transcription of most of the
103
cvs.srv.it.uu.se:/hipe repository dialyzer_tests into
104
test suites that use the test server framework.</p>
106
See README for information on how to use the included
107
scripts for modifications and updates.</p>
109
When testing Dialyzer it's important that several OTP
110
modules are included in the plt. The suites takes care of
120
<section><title>Dialyzer 2.4.0</title>
122
<section><title>Fixed Bugs and Malfunctions</title>
125
<p> - Fixed pretty rare infinite loop when refining the
126
types of an SCC whose functions all returned none()
127
(thanks to Stavros Aronis). </p><p> - Fixed pretty rare
128
crash when taking the infimum of two tuple_sets. </p>
136
<section><title>Improvements and New Features</title>
139
<p> - Added ability to supply multiple PLTs for the
140
analysis (option --plts). Currently these PLTs must be
141
independent (i.e., no module appears in more than one
142
PLT) and there must not include files with module name
143
clashes.</p><p> - Strengthened and streamlined hard-coded
144
type information for some BIFs and key library
154
<section><title>Dialyzer 2.3.1</title>
156
<section><title>Improvements and New Features</title>
160
Eliminated warnings for auto-imported BIF clashes.</p>
169
<section><title>Dialyzer 2.3.0</title>
171
<section><title>Improvements and New Features</title>
175
Various changes to dialyzer-related files for R14.</p>
177
- Dialyzer properly supports the new attribute
178
-export_type and checks that remote types only refer to
179
exported types. A warning is produced if some
180
files/applications refer to types defined in modules
181
which are neither in the PLT nor in the analyzed
184
- Support for detecting data races involving whereis/1
185
and unregister/1.</p>
187
- More precise identification of the reason(s) why a
188
record construction violates the types declared for its
191
- Fixed bug in the handling of the 'or' guard.</p>
193
- Better handling of the erlang:element/2 BIF.</p>
195
- Complete handling of Erlang BIFs.</p>
204
<section><title>Dialyzer 2.2.0</title>
206
<section><title>Improvements and New Features</title>
209
<p>Much better support for opaque types (thanks to Manouk
211
<p>Added support for recursive types (experimental).</p>
212
<p>Added support for parameterized modules.</p>
213
<p>Dialyzer now warns when -specs state that a function
214
returns some type when in fact it does not.</p>
215
<p>Added <c>--no_native</c> (<c>-nn</c>) option so that
216
the user can bypass the native code compilation that
217
dialyzer heuristically performs when dialyzing many
219
<p>Fixed minor bug in the dialyzer script allowing the
220
--wx option to bring up the wx-based GUI regardless of
221
its placement in the options list.</p>
222
<p>Options --apps and -Wrace_conditions, which were added
223
in the previous version, are now properly documented in
34
233
<section><title>Dialyzer 2.1.0</title>
36
235
<section><title>Improvements and New Features</title>