# 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.