- 5 ·
- [it shall be preelaborable;]
- 6 ·
- it shall depend semantically only on declared pure, shared passive, or other remote types library units;
- 7 ·
- it shall not contain the declaration of any variable within the visible part of the library unit;
- 7.a
- Reason: This is essentially a "methodological" restriction. A separate copy of a remote types package is included in each partition that references it, just like a normal package. Nevertheless, a remote types package is thought of as an "essentially pure" package for defining types to be used for interpartition communication, and it could be misleading to declare visible objects when no remote data access is actually being provided.
- 8 ·
- if the full view of a type declared in the visible part of the library unit has a part that is of a non-remote access type, then that access type, or the type of some part that includes the access type subcomponent, shall have user-specified Read and Write attributes.
- 8.a
- Reason: This is to prevent the use of the predefined Read and Write attributes of an access type as part of the Read and Write attributes of a visible type.