parent
80d6bc899b
commit
0138d87f8f
15
doc/rust.md
15
doc/rust.md
@ -847,10 +847,25 @@ fn main() {
|
||||
|
||||
Like items, `use` declarations are private to the containing module, by default.
|
||||
Also like items, a `use` declaration can be public, if qualified by the `pub` keyword.
|
||||
Such a `use` declaration serves to _re-export_ a name.
|
||||
A public `use` declaration can therefore be used to _redirect_ some public name to a different target definition,
|
||||
even a definition with a private canonical path, inside a different module.
|
||||
If a sequence of such redirections form a cycle or cannot be unambiguously resolved, they represent a compile-time error.
|
||||
|
||||
An example of re-exporting:
|
||||
~~~~
|
||||
mod quux {
|
||||
mod foo {
|
||||
pub fn bar() { }
|
||||
pub fn baz() { }
|
||||
}
|
||||
|
||||
pub use foo::*;
|
||||
}
|
||||
~~~~
|
||||
|
||||
In this example, the module `quux` re-exports all of the public names defined in `foo`.
|
||||
|
||||
### Functions
|
||||
|
||||
A _function item_ defines a sequence of [statements](#statements) and an optional final [expression](#expressions), along with a name and a set of parameters.
|
||||
|
Loading…
Reference in New Issue
Block a user