error[E0364]: `foo` is private, and cannot be re-exported
  --> $DIR/reexports.rs:8:17
   |
LL |         pub use super::foo;
   |                 ^^^^^^^^^^
   |
note: consider marking `foo` as `pub` in the imported module
  --> $DIR/reexports.rs:8:17
   |
LL |         pub use super::foo;
   |                 ^^^^^^^^^^

error[E0603]: module import `foo` is private
  --> $DIR/reexports.rs:33:15
   |
LL |     use b::a::foo::S;
   |               ^^^ private module import
   |
note: the module import `foo` is defined here...
  --> $DIR/reexports.rs:21:17
   |
LL |         pub use super::foo; // This is OK since the value `foo` is visible enough.
   |                 ^^^^^^^^^^
note: ...and refers to the module `foo` which is defined here
  --> $DIR/reexports.rs:16:5
   |
LL |     mod foo {
   |     ^^^^^^^

error[E0603]: module import `foo` is private
  --> $DIR/reexports.rs:34:15
   |
LL |     use b::b::foo::S as T;
   |               ^^^ private module import
   |
note: the module import `foo` is defined here...
  --> $DIR/reexports.rs:26:17
   |
LL |         pub use super::*; // This is also OK since the value `foo` is visible enough.
   |                 ^^^^^^^^
note: ...and refers to the module `foo` which is defined here
  --> $DIR/reexports.rs:16:5
   |
LL |     mod foo {
   |     ^^^^^^^

warning: glob import doesn't reexport anything because no candidate is public enough
  --> $DIR/reexports.rs:9:17
   |
LL |         pub use super::*;
   |                 ^^^^^^^^
   |
note: the lint level is defined here
  --> $DIR/reexports.rs:1:9
   |
LL | #![warn(unused_imports)]
   |         ^^^^^^^^^^^^^^

error: aborting due to 3 previous errors; 1 warning emitted

Some errors have detailed explanations: E0364, E0603.
For more information about an error, try `rustc --explain E0364`.