% Crates and Modules There is a new edition of the book and this is an old link. > Rust has a module system that enables the reuse of code in an organized fashion. > A module is a namespace that contains definitions of functions or types, and you can choose whether those definitions are visible outside their module (public) or not (private). > > A crate is a project that other people can pull into their projects as a dependency. ```rust mod network { fn connect() { } } ``` --- Here are the relevant sections in the new and old books: * **[in the current edition: Ch 7.01 — `mod` and the Filesystem][2]** * [in the current edition: Ch 14.02 — Publishing a Crate to Crates.io][3] * [In the first edition: Ch 3.25 — Crates and Modules][1] [1]: https://doc.rust-lang.org/1.30.0/book/first-edition/crates-and-modules.html [2]: ch07-00-managing-growing-projects-with-packages-crates-and-modules.html [3]: ch14-02-publishing-to-crates-io.html