Rust errors / Everything else
Rust compiler error · checked with rustc 1.99.0
Rust error E0704: incorrect visibility restriction
What it meansAn incorrect visibility restriction was specified.
What rustc prints
error[E0704]: incorrect visibility restriction --> main.rs:2:9 | 2 | pub(foo) struct Bar { | ^^^ | = help: some possible visibility restrictions are: `pub(crate)`: visible only on the current crate `pub(super)`: visible only in the current module's parent `pub(in path::to::module)`: visible only on the specified path help: make this visible only to module `foo` with `in` | 2 | pub(in foo) struct Bar { | ++
Real output of rustc 1.99.0 compiling the official example below (2021 edition). Your names and line numbers will differ; the first line is the part to match.
The compiler team's explanation
An incorrect visibility restriction was specified.
Erroneous code example:
mod foo {
pub(foo) struct Bar {
x: i32
}
}
To make struct Bar only visible in module foo the in keyword should be used:
mod foo {
pub(in crate::foo) struct Bar {
x: i32
}
}
For more information see the Rust Reference on Visibility.
From rustc --explain E0704 (1.99.0), part of the Rust project, MIT or Apache-2.0. Official page.
Related errors
- E0061this function takes N arguments but M were supplied
- E0412cannot find type in this scope
- E0515cannot return reference to local variable
- E0728await is only allowed inside async functions and blocks
- E0696`continue` pointing to a labeled block
- E0703invalid ABI: found `invalid`
- E0717#### This error code is internal to the compiler and will not be emitted with normal Rust code
- E0727`async` coroutines are not yet supported
Up next
Often hit nextE0061: this function takes N arguments but M were suppliedA related error from the same family.Read it next →Did this answer your question?