EiffelStudio 15.12 Releases

Below are not the release notes of EiffelStudio. It is the change log of EiffelStudio intermediate releases and the most important changes are highlighted in green or in red (for breaking changes). The release notes of EiffelStudio can be found at the following URL. You can also download the latest revision here. Information about other version can be found under Category:Releases.

EiffelStudio 15.12.x Releases

Beta download: https://ftp.eiffel.com/pub/beta/15.12/

15.12.x.x

New features

  • compiler - Supported tuple type unfolding that allows to avoid explicit nested tuple type declarations when there is only one formal generic type that is constrained to a TUPLE type. For example, for the class
FOO [X, T -> TUPLE, Y]

the type declarations

FOO [A, TUPLE [B, C], D]
FOO [A, TUPLE [B, C, E], D]

can be written as

FOO [A, B, C, D]
FOO [A, B, C, E, D]

Improvements

  • compiler: test#scoop074 - Propagated controlled status of an object test expression to an associated object test local to avoid unnecessary wrapping for this local.
  • compiler: bug#19147 - Provided new configuration options are "workbench_c_basket_limit" and "finalized_c_basket_limit" that can be used in ".../studio/eifinit/general.cfg" to specify maximum limits of C files that can be generated in one directory in workbench and finalized modes respectively for the cases when C compilation fails because of too large C files.
  • compiler, library, runtime - Removed the first parameter in ROUTINE family classes (PROCEDURE, PREDICATE, FUNCTION). Combined with tuple unfolding, the following type declarations:
PROCEDURE [A, TUPLE [B, C]]
FUNCTION [A, TUPLE [B, C], D]

are written now as

PROCEDURE [B, C]
FUNCTION [B, C, D]
  • EiffelStudio: Added a configuration file code_analysis.xml for default settings of Eiffel Inspector.
  • EiffelStudio: Changed order of inclusion and exclusion patterns saved in configuration files (ECF) to be lexicographically sorted.

Feature removed

Bug fixes

  • compiler: test#scoop075 - Fixed a code generation bug in finalized mode for separate feature calls that involve values of a pointer type.
  • compiler: bug#19120 (test#tuple019) - Fixed a bug that caused a compiler exception when a non-conforming value was assigned to a tuple field.
  • compiler: Made code analysis preference names and associated command-line options locale-independent.
  • compiler: Fixed generation of debugger breakpoint positions for tuple field assignment that was broken by the previous release.
  • compiler: test#attach049 - Fixed a bug that caused incorrect identification of certified attachment patterns (CAP) when target of Boolean operators like and and or is not of a Boolean type and therefore should not be taken into account when detecting CAPs.
  • compiler: test#attach114 - Fixed a bug that could lead to a feature call on void target if parenthesis alias calls were used in a creation procedure.
  • compiler: bug#17907 (test#incr417), bug#17913 (test#incr418), bug#17942 (test#incr419), test#incr432 - Fixed a bug in incremental recompilation that might cause wrong errors to be reported or a crash if there are source code errors involving qualified anchored types during recompilation.
  • compiler: test#attach115 - Fixed a bug that could lead to a feature call on void target if an empty loop of iteration form on an argument was used in a creation procedure.
  • EiffelStudio: bug#18713 (test#config039) - Significantly increased a limit on patterns specified in file rules of ECF (and project settings dialog) and improved error reporting when it is reached.

User changes

  • compiler: Changed option names of code analysis rules.
  • compiler: Used the same convention for threshold values of all code analysis rules: now the threshold value is included in the range of allowed values.

Developer changes