# My Preferred Module System (a fusion of earlier proposals)

**URL:** <https://internals.rust-lang.org/t/my-preferred-module-system-a-fusion-of-earlier-proposals/5718>\
**Category:** language design\
**Created:** [August 5, 2017, 7:36am UTC](https://internals.rust-lang.org/t/my-preferred-module-system-a-fusion-of-earlier-proposals/5718 "2017-08-05T07:36:42Z")\
**Posts on this page:** 1\
**Showing post:** 8

<div class="post-metadata">

**Author:** ![phaylon](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/phaylon/32/62_2.png) [@phaylon](https://internals.rust-lang.org/u/phaylon)\
**Post date:** [August 6, 2017, 9:52pm UTC](https://internals.rust-lang.org/t/my-preferred-module-system-a-fusion-of-earlier-proposals/5718/8 "2017-08-06T21:52:37Z")

</div>

> [@RalfJung](#):
>
> What do you mean, not required?

I basically meant that even without that functionality, there is a possible use. With the distinction in tact you're right that it would be required.

> [@RalfJung](#):
>
> So, use is not an item. However, pub use can be used like that, so pub use is an item.

Ah, yes. Personally I'd still call that an item just with a different visibility, but my terminology might be off.

As noted higher up, I have made a [new, much smaller proposal](https://internals.rust-lang.org/t/decoupled-module-improvements/5724) that only takes the necessary parts from this one, and actually allows not having `extern crate`, and leaving all other visibility functionality as it is. I'd love your opinion on that one as well!

---

_[View the full topic](https://internals.rust-lang.org/t/my-preferred-module-system-a-fusion-of-earlier-proposals/5718)._
