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()
По-кратко е, може да е доста по-четимо (ако изберете правилните имена), и ви дава бъдеща гъвкавост при поддръжката на библиотеката.