Export-нете някакво име с pub use

Rust ви дава възможността да организирате кода си както си искате по модули. В един момент, обаче, други хора ще използват библиотеката ви, и може би има смисъл да не им давате пълна видимост върху тази организация. Не за security, а по-скоро за да имате свободата да реорганизирате кода, поддържайки стабилен интерфейс за клиентите си.

Ако имате проект "network", със файл src/lib.rs, в който използвате няколко модула:

mod server;
mod client;

Да кажем, че имате функции network::client::connect() и network::server::listen(). Може да ги re-export-нете по следния начин:

mod server;
mod client;

pub use client::connect();
pub use server::listen();

Така, някой, който използва библиотеката ви с extern crate network, може да използва двете функци така:

extern crate network;

network::connect();
network::listen();

// вместо:
// network::client::connect()
// network::server::listen()

По-кратко е, може да е доста по-четимо (ако изберете правилните имена), и ви дава бъдеща гъвкавост при поддръжката на библиотеката.