# @\_exported and fixing import visibility

**URL:** <https://forums.swift.org/t/exported-and-fixing-import-visibility/9415>\
**Category:** Discussion\
**Created:** [February 1, 2018, 4:34am UTC](https://forums.swift.org/t/exported-and-fixing-import-visibility/9415 "2018-02-01T04:34:10Z")\
**Posts on this page:** 1\
**Showing post:** 7

<div class="post-metadata">

**Author:** ![michelf](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/michelf/32/1180_2.png) [@michelf](https://forums.swift.org/u/michelf)\
**Post date:** [February 6, 2018, 6:05pm UTC](https://forums.swift.org/t/exported-and-fixing-import-visibility/9415/7 "2018-02-06T18:05:16Z")

</div>

> [@davedelong](#):
>
> ```
> public import ModuleA
> internal import ModuleB
> private import ModuleC // or fileprivate import ModuleC
> 
> ```

This is a bit like [Removing File Scope Restriction for Import Statements](https://forums.swift.org/t/removing-file-scope-restriction-for-import-statements/8387), where you limit the visibility of the imported symbols to a specific scope. Except here, we're expanding the scope to the whole module (with `internal`) or to other modules (with `public`).

---

_[View the full topic](https://forums.swift.org/t/exported-and-fixing-import-visibility/9415)._
