• Packages: A Cargo feature that lets you build, test, and share crates
  • Crates: A tree of modules that produces a library or executable
  • Modules and use: Let you control the organization, scope, and privacy of paths
  • Paths: A way of naming an item, such as a struct, function, or module

member inside mod is private by default, need a explicit pub to make it public accessible.

src
    utils
        bar.rs
        foo.rs
    utils.rs
    main.rs

Re-exports

  • Like using namespace in C++ to make it visible under current module.