From 2955ddebc32837b66d9bacb4e925ad0ed0033168 Mon Sep 17 00:00:00 2001 From: Erlang/OTP Date: Tue, 23 Jun 2015 10:24:26 +0200 Subject: Prepare release --- lib/dialyzer/doc/src/notes.xml | 124 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) (limited to 'lib/dialyzer/doc/src/notes.xml') diff --git a/lib/dialyzer/doc/src/notes.xml b/lib/dialyzer/doc/src/notes.xml index 5fe3f1e12e..93d3b09f07 100644 --- a/lib/dialyzer/doc/src/notes.xml +++ b/lib/dialyzer/doc/src/notes.xml @@ -32,6 +32,130 @@

This document describes the changes made to the Dialyzer application.

+
Dialyzer 2.8 + +
Fixed Bugs and Malfunctions + + +

The translation of Erlang forms to the type + representation used by Dialyzer has been improved in + several ways. The most important change is that deeply + nested records can be handled.

+

+ Own Id: OTP-12350

+
+ +

Fix a bug that could cause bogus warnings for opaque + types.

In Erlang/OTP 18 two parameterized types + declared in the same module always result in a + contradiction (none()) when combined outside of + the module where they are declared, unless they have the + same number of parameters.

The behaviour is + different from Erlang/OTP 17 where, for instance, + dict:dict() and dict:dict(_, _), which are + both opaque, can be combined outside of the dict + module.

In Erlang/OTP 18, dict:dict() and + dict:dict(_, _) can still be combined outside of + the dict module. That has been made possible by + not declaring dict:dict() as opaque.

+

+ Own Id: OTP-12493

+
+ +

Update the PLT properly when a module is changed. + (Thanks to James Fish for the bug report, and to Stavros + Aronis for fixing the bug.)

+

+ Own Id: OTP-12637

+
+ +

+ An argument of '*'/2 is not constraind if the other + operand can be zero.

+

+ Own Id: OTP-12725

+
+ +

Mention the option check_plt among the + dialyzer:gui() options. (Thanks to James Fish.) +

+

+ Own Id: OTP-12750

+
+ +

Fix a bug which could cause an infinite loop in + Dialyzer.

+

+ Own Id: OTP-12826

+
+
+
+ + +
Improvements and New Features + + +

The -dialyzer() attribute can be used for + suppressing warnings in a module by specifying functions + or warning options. It can also be used for requesting + warnings in a module.

+

+ Own Id: OTP-10280

+
+ +

The pre-defined types array(), dict(), + digraph(), gb_set(), gb_tree(), + queue(), set(), and tid() have been + removed.

+

+ Own Id: OTP-11445 Aux Id: OTP-10342, OTP-9352

+
+ +

A few type names that have been used for representing + certain predefined types can now be used for user-defined + types. This affects the types product/_, + union/_, and range/2 as well as + tuple/N (N > 0), map/N (N > 0), + atom/1, integer/1, binary/2, + record/_, and 'fun'/_. A consequence is + that, for example, it is no longer possible to refer to a + record type with record(r); instead the usual + record notation, #r{}, is to be used.

+

+ *** POTENTIAL INCOMPATIBILITY ***

+

+ Own Id: OTP-11851

+
+ +

When implementing user-defined behaviours it is now + possible to specify optional callback functions. See OTP + Design Principles User's Guide, Sys and Proc_Lib, + User-Defined Behaviours, for details.

+

+ Own Id: OTP-11861

+
+ +

Add two options to the Dialyzer: + no_missing_calls suppresses warnings about calls + to missing or unexported functions; unknown lets + warnings about unknown functions or types affect the exit + status. See also dialyzer(3).

+

+ Own Id: OTP-12682

+
+ +

By default, dialyzer will now cache native versions of + dialyzer modules to avoid having to re-compile them each + time dialyzer is started. Caching can be disabled using + the option --no_native_cache.

+

+ Own Id: OTP-12779

+
+
+
+ +
+
Dialyzer 2.7.4
Fixed Bugs and Malfunctions -- cgit v1.2.3