E0252 - Error codes index
Description: Book listing all Rust error codes

## Keyboard shortcuts

Press `←` or `→` to navigate between chapters

Press `S` or `/` to search in the book

Press `?` to show this help

Press `Esc` to hide this help

# Error code E0252

Two items of the same name cannot be imported without rebinding one of the items under a new local name.

Erroneous code example:

    use foo::baz;
    use bar::baz; // error, do `use bar::baz as quux` instead

    fn main() {}

    mod foo {
        pub struct baz;
    }

    mod bar {
        pub mod baz {}
    }

You can use aliases in order to fix this error. Example:

    use foo::baz as foo_baz;
    use bar::baz; // ok!

    fn main() {}

    mod foo {
        pub struct baz;
    }

    mod bar {
        pub mod baz {}
    }

Or you can reference the item with its parent:

    use bar::baz;

    fn main() {
        let x = foo::baz; // ok!
    }

    mod foo {
        pub struct baz;
    }

    mod bar {
        pub mod baz {}
    }