RM 13 9 14-17 Unchecked Conversion (GNAT Reference Manual)

### 6.29 RM 13.9(14-17): Unchecked Conversion ¶

> “The `Size` of an array object should not include its bounds; hence, the bounds should not be part of the converted data.”

Followed.

> “The implementation should not generate unnecessary run-time checks to ensure that the representation of `S` is a representation of the target type. It should take advantage of the permission to return by reference when possible. Restrictions on unchecked conversions should be avoided unless required by the target environment.”

Followed. There are no restrictions on unchecked conversion. A warning is generated if the source and target types do not have the same size since the semantics in this case may be target dependent.

> “The recommended level of support for unchecked conversions is:

> Unchecked conversions should be supported and should be reversible in the cases where this clause defines the result. To enable meaningful use of unchecked conversion, a contiguous representation should be used for elementary subtypes, for statically constrained array subtypes whose component subtype is one of the subtypes described in this paragraph, and for record subtypes without discriminants whose component subtypes are described in this paragraph.”

Followed.