import-top-level-visibility
Available in: KerML, SysML
This checks that top-level imports have private visibility.
This is just specifying that imported members are not automatically exported under statically unknown names. Note that Syside does not support reexporting non-static names even if this were not true. This would be impossible to support because there are no clear dependencies between source files that would allow constructing exports dynamically and incrementally.
Specification
A top-level
Import(that is, one that is owned by a rootNamespace) must have visibility ofprivate.
Example
public import ScalarValues::Boolean; // error
Instead, only ever use private visibility for root level imports:
private import ScalarValues::Boolean; // ok
For exporting symbols, use alias instead:
private import ScalarValues::Boolean;
alias MyBoolean for Boolean; // no error