From 62870c998955e1498e71bfc90607885e96ecaa27 Mon Sep 17 00:00:00 2001 From: Erlang/OTP Date: Tue, 31 Mar 2015 12:24:04 +0200 Subject: Prepare release --- lib/compiler/doc/src/notes.xml | 52 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) (limited to 'lib/compiler/doc/src') diff --git a/lib/compiler/doc/src/notes.xml b/lib/compiler/doc/src/notes.xml index 84ebd2f210..9b5b44f3e1 100644 --- a/lib/compiler/doc/src/notes.xml +++ b/lib/compiler/doc/src/notes.xml @@ -31,6 +31,58 @@

This document describes the changes made to the Compiler application.

+
Compiler 5.0.4 + +
Fixed Bugs and Malfunctions + + +

+ Matching out a map from a record and then updating the + record could cause a 'badarg' exception at run-time. + (Thanks to Dmitry Aleksandrov for reporting this bug.)

+

+ Own Id: OTP-12402

+
+ +

The compiler would crash when compiling some complex, + nonsensical guards such as:

+

... when {{X}}, -X...

+

+ Own Id: OTP-12410

+
+ +

+ In rare circumstances, using binary pattern in the value + part of a map pattern would cause the compiler to crash.

+

+ Own Id: OTP-12414

+
+ +

Case expressions where a map was wrapped in a tuple or + list such as:

+

case {a,Map} of
{a,#{k:=_}}=Tuple -> + Tuple
end.

+

would be unsafely "optimized" to either cause an + exception at run-time or would return an empty map.

+

+ Own Id: OTP-12451

+
+ +

When a variable was compared to a literal map using + the '==' operator, the compiler would change the + operator to '=:=' since it is more efficient. + However, this optimization is not safe if the map literal + has numeric keys or values. The compiler will now only do + the optimization if all keys and values are + non-numeric.

+

+ Own Id: OTP-12456

+
+
+
+ +
+
Compiler 5.0.3
Fixed Bugs and Malfunctions -- cgit v1.2.3