extern crate

To link a crate to this new library, the extern crate declaration must be used. This will not only link the library, but also import all its items under a module named the same as the library. The visibility rules that apply to modules also apply to libraries.

// Link to `library`, import items under the `rary` module extern crate rary; fn main() { rary::public_function(); // Error! `private_function` is private //rary::private_function(); rary::indirect_access(); }
# Where library.rlib is the path to the compiled library, assumed that it's # in the same directory here: $ rustc executable.rs --extern rary=library.rlib && ./executable called rary's `public_function()` called rary's `indirect_access()`, that > called rary's `private_function()`