Version
Major changes between ISE Eiffel 5.1 and ISE Eiffel 5.2
- Contents
- What's new
- Improvements
- Changes
- Bug fixes
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 typeINTEGER_8 ,INTEGER_16 ,INTEGER orINTEGER_64 , however you can only assign the value254
to a location of typeINTEGER_16 ,INTEGER orINTEGER_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 aVGCC(6)
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
INTEGER_64 value. - Fixed a problem with manifest
INTEGER_64 constants whose values were incorrectly interpreted. - Fixed
VAPE
errors that were not previously reported in 5.1. NowVAPE
errors are checked against call to infix and prefix features.
Back to 5.x