Major changes between ISE Eiffel 5.1 and ISE Eiffel 5.2

What's new

.NET generation now includes support for the following language features:

Support for multiple inheritance.

Support for generics.

Partial implementation of generic conformance

Support for tuples and agents.

Support for any existing Eiffel code that does not use C externals.

Support for compiling Eiffel libraries using C externals that are not related to the Eiffel Software C runtime.

And the following limitations:

Eiffel classes cannot inherit from non-Eiffel .NET classes (but they can be clients).

No support for expanded keyword.

.NET generation now supports assembly signing in enterprise edition.

.NET generation now supports precompiled libraries.

Supports for manifest integer constants of different sizes, i.e. you can now assign for example the value 8 to a location of type INTEGER_8, INTEGER_16, INTEGER or INTEGER_64, however you can only assign the value 254 to a location of type INTEGER_16, INTEGER or INTEGER_64.

Improvements

Compiler that is about 20% faster than 5.1.

Runtime is about 10-20% faster than 5.1

Changes

One cannot create an instance of a basic expanded class ( BOOLEAN, CHARACTER, INTEGER_8, INTEGER_16, INTEGER, INTEGER_64, POINTER, REAL, DOUBLE), you will now get a VGCC(6) error. Instead directly assign to it, or create an instance of its corresponding _REF class.