From 0dd63c860bf34971d867ba08f7462ca872037205 Mon Sep 17 00:00:00 2001 From: Steve Klabnik Date: Wed, 18 Mar 2015 20:24:22 -0400 Subject: [PATCH] Note ::foo::bar() in the crates guide Fixes #21589 --- src/doc/trpl/crates-and-modules.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/doc/trpl/crates-and-modules.md b/src/doc/trpl/crates-and-modules.md index f6f6046b9b458..65ff42ffdcef4 100644 --- a/src/doc/trpl/crates-and-modules.md +++ b/src/doc/trpl/crates-and-modules.md @@ -562,6 +562,11 @@ place in the hierarchy instead. There's one more special form of `use`: you can people like to think of `self` as `.` and `super` as `..`, from many shells' display for the current directory and the parent directory. +Outside of `use`, paths are relative: `foo::bar()` refers to a function inside +of `foo` relative to where we are. If that's prefixed with `::`, as in +`::foo::bar()`, it refers to a different `foo`, an absolute path from your +crate root. + Also, note that we `pub use`d before we declared our `mod`s. Rust requires that `use` declarations go first.