Error code E0364

Private items cannot be publicly re-exported. This error indicates that you attempted to pub use a type or value that was not itself public.

Erroneous code example:

#![allow(unused)] fn main() { mod a { fn foo() {} mod a { pub use super::foo; // error! } } }

The solution to this problem is to ensure that the items that you are re-exporting are themselves marked with pub:

#![allow(unused)] fn main() { mod a { pub fn foo() {} // ok! mod a { pub use super::foo; } } }

See the Use Declarations section of the reference for more information on this topic.