Closed
Description
For example,
mod foo {
pub mod bar {} // This defines bar in the type namespace
pub use alpha::bar; // This defines bar in the value namespace
// This should define baz in both namespaces, but it only defines `baz` in the type namespace.
pub use self::bar as baz;
pub fn baz() {} // This should collide with the imported `baz`, but now it does not.
}
pub fn f() {}
mod alpha {
pub use self::f as bar; // Changing this to `pub fn bar() {}` makes the imports consistent
pub use super::*;
}
fn main() {
foo::bar();
foo::baz(); // This errors
}
Metadata
Metadata
Assignees
Labels
No labels