[[Property:title|Major changes between ISE Eiffel 5.1 and ISE Eiffel 5.2]]
[[Property:link_title|5.2]]
[[Property:weight|-9]]
[[Property:uuid|f08242d4-d472-142c-7f92-f2c043bc5fa6]]
==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 <eiffel>INTEGER_8</eiffel>, <eiffel>INTEGER_16</eiffel>, <eiffel>INTEGER</eiffel> or <eiffel>INTEGER_64</eiffel>, however you can only assign the value `254' to a location of type <eiffel>INTEGER_16</eiffel>, <eiffel>INTEGER</eiffel> or <eiffel>INTEGER_64</eiffel>. 

==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 ( <eiffel>BOOLEAN</eiffel>, <eiffel>CHARACTER</eiffel>, <eiffel>INTEGER_8</eiffel>, <eiffel>INTEGER_16</eiffel>, <eiffel>INTEGER</eiffel>, <eiffel>INTEGER_64</eiffel>, <eiffel>POINTER</eiffel>, <eiffel>REAL</eiffel>, <eiffel>DOUBLE</eiffel>), you will now get a <code>VGCC(6)</code> error. Instead directly assign to it, or create an instance of its corresponding _REF class. 

==Bug fixes==
* Fixed memory corruption issue when trying to access an <eiffel>INTEGER_64</eiffel> value. 
* Fixed a problem with manifest <eiffel>INTEGER_64</eiffel> constants whose values were incorrectly interpreted. 
*  Fixed <code>VAPE</code> errors that were not previously reported in 5.1. Now <code>VAPE</code> errors are checked against call to infix and prefix features. 




