Major changes between ISE Eiffel 7.2 and ISE Eiffel 7.3
- Added support for agents with targets of separate types.
- Added new levels of void-safety: "conformance" that enables taking attachment marks into account when checking for conformance; "transitional" (previously "all") that checks almost all void-safety rules except those for unqualified agents and allows CAPs for preconditions and check instructions; "all" that checks all void-safety rules.
- Fixed issue that causes many classes to be recompiled when not needed.
- Relaxed rules for using Current and unqualified agents when not all attributes are set to report VEVI errors only when qualified calls are involved in a sequence of unqualified calls and creation procedure calls ("targeted rules").
- The BIT type has been completely removed from libraries and runtime.
- Fixed error in processing replicated and selected attributes with self-initializing attribute bodies that could lead to reporting these attributes as uninitialized.
- Fixed a bug that might result in a missing VEVI error for Result in a self-initializing attribute body.
- Fixed a bug that caused incorrect conformance checks for formal generics of different separate status.
- Fixed a bug that might cause incorrect conformance checks for attachment and separateness status of a constrained formal generic parameter against a class type.
- Fixed a C code generation bug that might cause an access on an invalid address during object test evaluation with an expression of a separate type.
Runtime/code generation issues
- Fixed a bug where the TYPE instance of a new generic derivation in the running system would be corrupted.
- Fixed a bug in .NET where using the Eiffel serialization or marking objects would trigger computation of
hash_codeon Eiffel objects and thus changing their state.