J3/13-327r1 To: J3 From: Dan Nagle & Malcolm Cohen Subject: UK-02 default accessibility of entities Date: 2013 October 14 Reference: N1975, N1982 1. Specification a. In a module, the default accessibility of entities from another module accessed by use association should be decoupled from the default accessibility of entities defined by the using module. b. This should be done by a separate statement, not on the USE statement, to avoid confusion when multiple USE statements for a module appear. c. Multiple specifications of the default accessibility shall not be permitted. d. Specification of accessibility shall not be permitted for a module that is not referenced by a USE statement. 2. Syntax a. Permit a module name to appear in a PUBLIC or PRIVATE statement. b. At most one appearance of a module name in all the PUBLIC and PRIVATE statements in a module specification part is permitted. 3. Edits to 10-007r1 [intro] Update the new feature list "In a module, the default accessibility of entities accessed from another module can be controlled separately from that of entities declared in the using module." [102:27] "" -> "". {Remove useless sharing of term with the USE statement.} [102:31] "" -> "", "named" -> "module". {Remove useless sharing etc. Replace unnecessary verbiage with the extra syntax.} [102:32+] add two constraints "C563a A module whose name appears in an shall be referenced by a USE statement in the scoping unit that contains the . C563b The name of a module shall appeat at most once in all the <>s appearing in a module." {Required constraints, worded so as not to require a syntax rule ref.} [102:34] after "in the list" insert "that is not a module name. Appearance of a module name in an specifies the default accessibility of entities accessed from that module.". {Remove modules from receiving the attribute, add sentence for semantics.} ===END===