E0742 - 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 E0742

Visibility is restricted to a module which isn’t an ancestor of the current item.

Erroneous code example:

    pub mod sea {}

    pub (in crate::sea) struct Shark; // error!

    fn main() {}

To fix this error, we need to move the `Shark` struct inside the `sea` module:

    pub mod sea {
        pub (in crate::sea) struct Shark; // ok!
    }

    fn main() {}

Of course, you can do it as long as the module you’re referring to is an ancestor:

    pub mod earth {
        pub mod sea {
            pub (in crate::earth) struct Shark; // ok!
        }
    }

    fn main() {}