Developer Center |
Tuesday April 13, 2010
Equality of untagged record composes, so that the predefined equality for a composite type that includes a component of some untagged record type R uses the equality operation of R (which may be user-defined or predefined). This makes the behavior of untagged records identical to that of tagged types in this respect. This change is an incompatibility with previous versions of Ada, but it corrects a non-uniformity that was often a source of confusion. Analysis of a large number of industrial programs indicates that in those rare cases where a composite type had an untagged record component with a user-defined equality, either there was no use of the composite equality, or else the code expected the same composability as for tagged types, and thus had a bug that would be fixed by this change.
Posted
in Ada / Ada 2005 / Ada 2012, Development Log