Author:manus

Date:2011-11-28T08:38:36.000000Z


git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@1020 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
alexk
2011-11-28 09:16:08 +00:00
parent a7b4cb9117
commit b06b4c57f0
2 changed files with 40 additions and 4 deletions

View File

@@ -2,13 +2,36 @@
[[Property:link_title|7.0]]
[[Property:weight|13]]
[[Property:uuid|0211321e-969d-04a4-66ee-2a6069836845]]
{{UnderConstruction}}
==What's new==
* Supported development of incomplete void-safe classes (so called "design mode") by avoiding reporting void-safety errors for unreachable code, e.g. for the code after a call to a feature that never returns normally, say, to <e>{EXCEPTIONS}.die</e>. As a result it became possible to declare a creation procedure that does not initialize attached attributes properly (because the corresponding effective classes are not available yet), for example:
<e>
make (...)
do
... -- Some attributes are not initialized.
die (1) -- Compiler does not report VEVI errors.
end
</e>
:or
<e>
make (...)
do
... -- Some attributes are not initialized.
check implemented: False then end -- Compiler does not report VEVI errors.
end
</e>
==Improvements==
* Enforced full class checking for void-safe classes.
* Disallowed void-safety mismatch when a descendant or a client have stricter void-safety setting than the corresponding ancestor or supplier.
* Taken into account changes of class options when performing recompilation.
* Changed processing of "stable" features to follow the recent modifications to the standard.
* Avoided reporting errors related to variable initialization when the right-hand part of assignment to this variable causes an error.
* Promoted keywords <e>across</e> and <e>some</e> from provisional syntax to the standard one.
* Made class <e>BIT_REF</e> optional as soon as a <e>BIT</e> type is not used in a system (to be ready to drop support for <e>BIT</e> types in the next releases).
* Replaced keyword completion for <e>indexing</e> with keyword completion for <e>note</e>.
==Changes==