You can’t import a value whose name is the same as another value defined in the module.
Erroneous code example:
use bar::foo; // error: an item named `foo` is already in scope
fn foo() {}
mod bar {
pub fn foo() {}
}
fn main() {}
RunYou can use aliases in order to fix this error. Example:
use bar::foo as bar_foo; // ok!
fn foo() {}
mod bar {
pub fn foo() {}
}
fn main() {}
RunOr you can reference the item with its parent:
fn foo() {}
mod bar {
pub fn foo() {}
}
fn main() {
bar::foo(); // we get the item by referring to its parent
}
Run